Ang mga double escape sequence ay tumutukoy sa mga sitwasyon kung saan ang ilang partikular na character ay na-escape nang maraming beses kapag tumatakas sa isang string. Sa pag-encode ng URL, ang mga espesyal na character ay madalas na tinatakasan upang matiyak na ang mga ito ay naipasa nang tama at na-parse ng server. Halimbawa, ang mga puwang ay ini-escape bilang "%20", at ang plus sign (+) ay karaniwang hindi tinatakasan dahil ito ay kumakatawan sa isang puwang sa URL. Gayunpaman, kung nagkamali ang server sa mga character na na-escape na muli, bubuo ng double escape sequence.
Iniuulat ng server na ang module ng pag-filter ng kahilingan ay na-configure upang tanggihan ang mga kahilingan na naglalaman ng mga double escape sequence. Ito ay maaaring mangahulugan na ang server ay naniniwala na ang plus sign sa URL ay dalawang beses na na-escape, iyon ay, ang plus sign ay na-escape bilang %2B at. pagkatapos ay tumakas muli Ang kahulugan ay %252B, na itinuturing na hindi tama. Maaaring tanggihan ng server ang naturang kahilingan dahil maaaring magdulot ito ng mga error sa pag-parse o mga isyu sa seguridad.
Baguhin
applicationHost.config
Ang configuration ng file, mangyaring i-back up ang file bago ito baguhin kung sakali.
%SystemDrive%\Windows\System32\inetsrv\config
Hanapin ang kaukulang file ng configuration ng site sa ilalim ng folder, kadalasan \applicationHost.config
, at pagkatapos ay buksan ito gamit ang isang text editor (tulad ng Notepad).<requestFiltering>
bahagi. Sa IIS 7, maaaring i-block ng module ng URLScan ang mga kahilingan sa URL na naglalaman ng plus sign bilang default.<requestFiltering>
seksyon, maaari kang magdagdag ng a <allowDoubleEscaping>
elemento, itinatakda ang halaga nito sa true
, upang payagan ang plus sign sa URL. Halimbawa:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>