Dobbelt escape-sekvenser refererer til situationer, hvor visse tegn escapes flere gange, når de escaper en streng. I URL-kodning escapes specialtegn ofte for at sikre, at de sendes korrekt og parses af serveren. For eksempel escapes mellemrum som "%20", og plustegnet (+) escapes normalt ikke, fordi det repræsenterer et mellemrum i URL'en. Men hvis serveren ved en fejl undslipper tegn, der allerede er blevet escaped igen, vil der blive genereret en dobbelt escape-sekvens.
Serveren rapporterer, at anmodningsfiltreringsmodulet er konfigureret til at afvise anmodninger, der indeholder dobbelte escape-sekvenser, hvilket kan betyde, at serveren mener, at plustegnet i URL'en er blevet escaped to gange, det vil sige, at plustegnet er escaped som %2B og undslap så igen. Definitionen er %252B, hvilket anses for forkert. Serveren kan afvise en sådan anmodning, fordi den kan forårsage parsingsfejl eller sikkerhedsproblemer.
Revidere
applicationHost.config
Filkonfiguration, sikkerhedskopier venligst filen, før du ændrer den for en sikkerheds skyld.
%SystemDrive%\Windows\System32\inetsrv\config
Find normalt den tilsvarende webstedskonfigurationsfil under mappen \applicationHost.config
, og åbn den derefter med en teksteditor (såsom Notesblok).<requestFiltering>
en del. I IIS 7 kan URLScan-modulet blokere URL-anmodninger, der som standard indeholder et plustegn.<requestFiltering>
sektion, kan du tilføje en <allowDoubleEscaping>
element ved at sætte dets værdi til true
, for at tillade plustegnet i URL'en. Eksempel:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>