2013-03-13 18 views
5

ile örneğin bir üzerinde Parametrelerde izin vermemek .swf dosyaları IIS 7 veya .NET kullanarak genel bir yolu var mı?Disallow sorgu parametreleri IIS 7.5 veya .NET

Biz belirli sorgu dizesi parametreleri ile arayarak XSS sağlayan bir merkezlerinde parti swf dosyası ile bir appllication var. Bu nedenle parametreleri genel bir şekilde devre dışı bırakmak istiyoruz. aklıma geliyor

tek şey parametreleri olmayan bir çağrıya dosya çağrısı reroutes bir işleyici yazıyor.

cevap

2

Sen yourfile.swf?* maç olacak ve (querystring ekleme olmadan açıkça) yourfile.swf olarak yeniden yazacak sadece yeni bir IIS Rewrite kural bir Handler gerekmez Global.asax BeginRequest olay bu deneyin . Öneriniz için

<configuration> 
<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="strip_querystring" patternSyntax="Wildcard" stopProcessing="true"> 
       <match url="yourfile.swf*" /> 
       <action type="Rewrite" url="yourfile.swf" appendQueryString="false" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

+0

Bu güzel ve temiz bir çözüm gibi görünüyor. .swf uzantılı tüm dosyalarda eşleşmesi mümkün mü? – Mark

+1

' ' emin öyle çalışmalarını olun. – haim770

0

Private Sub Global_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.BeginRequest 

     Dim httpContext As HttpContext = httpContext.Current 
     Dim request As HttpRequest = httpContext.Request 
     Dim response As HttpResponse = httpContext.Response 

     If request.QueryString.Count > 0 AndAlso request.Url.LocalPath.EndsWith(".swf", StringComparison.InvariantCultureIgnoreCase) = True Then 
      response.Redirect(request.Url.LocalPath) 
     End If 


    End Sub 
+0

teşekkür: (kontrol etmedin) gibi

şey. VB korkunç ama ben öneriyorsun ve zaten bir işleyici bu bir benzer uygulaması yapmıştı anlamak. Muhtemelen benim durumumda problemi daha iyi karşılayacağından, yukarıda önerilen yeniden yazma kuralına geçiyorum. – Mark

İlgili konular