Çift kaçış dizileri, bir dizeden kaçarken belirli karakterlerin birden çok kez kaçtığı durumları ifade eder. URL kodlamada, sunucu tarafından doğru bir şekilde iletildiğinden ve ayrıştırıldığından emin olmak için özel karakterlerin çıkışı genellikle yapılır. Örneğin, boşluklar "%20" olarak çıkarılır ve artı işareti (+) genellikle URL'deki bir alanı temsil ettiğinden kaçış yapılmaz. Ancak sunucu, daha önce kaçmış olan karakterlerden yanlışlıkla tekrar kaçarsa, çift kaçış dizisi oluşturulacaktır.
Sunucu, istek filtreleme modülünün, çift kaçış dizileri içeren istekleri reddedecek şekilde yapılandırıldığını bildirir. Bu, sunucunun, URL'deki artı işaretinin iki kez öncelendiğine inandığı, yani artı işaretinin %2B olarak kaçtığı anlamına gelebilir. sonra tekrar kaçtı. Tanım %252B'dir ve bu yanlış kabul edilir. Sunucu, ayrıştırma hatalarına veya güvenlik sorunlarına neden olabileceği için böyle bir isteği reddedebilir.
Tekrar düzeltme yapmak
applicationHost.config
Dosya yapılandırması; her ihtimale karşı, değişiklik yapmadan önce lütfen dosyayı yedekleyin.
%SystemDrive%\Windows\System32\inetsrv\config
İlgili site yapılandırma dosyasını genellikle klasörün altında bulun. \applicationHost.config
ve ardından bir metin düzenleyiciyle (Not Defteri gibi) açın.<requestFiltering>
parça. IIS 7'de, URLScan modülü artı işareti içeren URL isteklerini varsayılan olarak engelleyebilir.<requestFiltering>
bölümüne ekleyebilirsiniz. <allowDoubleEscaping>
öğesi, değerini şu şekilde ayarlıyor: true
URL'de artı işaretine izin vermek için . Örnek:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>