Çift Kaçan Tehlikeli Etkinleştirme?
/&Lt /arama;searchterm^) ÅŸeyler ararken saÄŸlayan bir yol ile ASP.NET MVC bir uygulama var . .
Ben kaynağı ne "abc/arama iyi çalışıyor, ama ben kaynağı ne" "/arama a b c" (doğru kodlanmış url) sonra IIS7 Hata ile HTTP isteği reddeder ( . 404.11/ ^em>İstek filtreleme modülü bir çift çıkış sırasını içeren bir isteği reddetmek üzere yapılandırılmış). Öncelikle, neden bunu yapıyor? Sadece eğer URL bir parçası olduğunda hata atmak gibi görünüyor, ama bir sorgu dizesi bir parçası olarak değil ( /iletim?S=a b c gayet iyi çalışıyor).
Şimdi istekleri benim kaçış web güvenlik bölümünde çift etkinleştirmek olabilir.config ama ben tereddüt için bunu anlamıyorum etkileri de neden sunucu olur reddetme isteği "a b c" bir parçası olarak URL ama kabul et parçası olarak bir sorgu dizesi.
Birisi açıklasın ve ne bir tavsiyede bulunabilir mi?
CEVAP
Düzenleme:İlgili bölümleri eklendi vurgu.
Temelde: IIS aşırı paranoyak. Eğer bir şey uri kodu çözülen veri (string birleştirme ile yerel dosya sistemi URİ üretimi gibi) ile özellikle akılsızca yapıyorsan güvenli bir şekilde bu kontrol devre dışı bırakabilirsiniz.
Çek (here here) devre dışı bırakmak için: (benim yorumun altında ne çift kaçmayı gerektirir.
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true"/>
</security>
</system.webServer>
Eğer artı simgesi bir arama giriş geçerli bir karakter ise, olurgerek""IIS izni için URI yolundan. bu giriş işlemi için allowDoubleEscaping etkinleştirmek için
Son olarak, çok basit, sınırlı bir çözüm önlemek için sadece ' A ' ve 'kullanmak' yerine.Her durumda, '' bir uzay kodlamak için semboldürdeÄŸilgeçerli url kodlamaama geriye dönük uyumluluk için protokoller için sınırlı sayıda özel ve yaygın olarak desteklenen muhtemelen sebep. Sadece kurallı kullanım amaçlı, kodlama gibi alanlarda daha iyisin '' nasıl olsa; ve bu güzel IIS7 sorunu hala diÄŸer diziler «. gibi çıkabilen) sidesteps eÄŸer
Bir yığın verimli çift çorap mı?...
Ondalık arasındaki fark, ve içinde Yüz...
Potansiyel olarak tehlikeli bir Ä°stek....
JavaScript içinde Tek veya Çift Tırnak...
** (Çift yıldız) ve * (yıldız) Python ...