Οι διπλές ακολουθίες διαφυγής αναφέρονται σε καταστάσεις όπου ορισμένοι χαρακτήρες διαφεύγουν πολλές φορές όταν διαφεύγουν από μια συμβολοσειρά. Στην κωδικοποίηση URL, οι ειδικοί χαρακτήρες συχνά διαφεύγουν για να διασφαλιστεί ότι μεταβιβάζονται σωστά και αναλύονται από τον διακομιστή. Για παράδειγμα, τα κενά διαστέλλονται ως "%20" και το σύμβολο συν (+) συνήθως δεν διαγράφεται επειδή αντιπροσωπεύει ένα κενό στη διεύθυνση URL. Ωστόσο, εάν ο διακομιστής διαφύγει κατά λάθος χαρακτήρες που έχουν ήδη διαφύγει ξανά, θα δημιουργηθεί μια διπλή ακολουθία διαφυγής.
Ο διακομιστής αναφέρει ότι η μονάδα φιλτραρίσματος αιτημάτων έχει ρυθμιστεί να απορρίπτει αιτήματα που περιέχουν διπλές ακολουθίες διαφυγής. στη συνέχεια διέφυγε ξανά Ο ορισμός είναι %252B, ο οποίος θεωρείται λανθασμένος. Ο διακομιστής μπορεί να απορρίψει ένα τέτοιο αίτημα επειδή μπορεί να προκαλέσει σφάλματα ανάλυσης ή ζητήματα ασφαλείας.
Αναθεωρώ
applicationHost.config
Διαμόρφωση αρχείου, δημιουργήστε αντίγραφα ασφαλείας του αρχείου πριν το τροποποιήσετε για κάθε ενδεχόμενο.
%SystemDrive%\Windows\System32\inetsrv\config
Βρείτε το αντίστοιχο αρχείο διαμόρφωσης τοποθεσίας κάτω από το φάκελο, συνήθως \applicationHost.config
και μετά ανοίξτε το με ένα πρόγραμμα επεξεργασίας κειμένου (όπως το Σημειωματάριο).<requestFiltering>
μέρος. Στο IIS 7, η λειτουργική μονάδα URLScan μπορεί να αποκλείει αιτήματα URL που περιέχουν ένα σύμβολο συν από προεπιλογή.<requestFiltering>
ενότητα, μπορείτε να προσθέσετε ένα <allowDoubleEscaping>
στοιχείο, ορίζοντας την τιμή του σε true
, για να επιτρέπεται το σύμβολο συν στη διεύθυνση URL. Παράδειγμα:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>