تشير تسلسلات الهروب المزدوجة إلى المواقف التي يتم فيها الهروب من أحرف معينة عدة مرات عند الهروب من سلسلة. في ترميز URL، غالبًا ما يتم تخطي الأحرف الخاصة لضمان تمريرها بشكل صحيح وتحليلها بواسطة الخادم. على سبيل المثال، يتم تخطي المسافات كـ "%20"، ولا يتم عادةً تخطي علامة الجمع (+) لأنها تمثل مسافة في عنوان URL. ومع ذلك، إذا قام الخادم عن طريق الخطأ بتجنب الأحرف التي تم تجاوزها بالفعل مرة أخرى، فسيتم إنشاء تسلسل هروب مزدوج.
أبلغ الخادم أن وحدة تصفية الطلب تم تكوينها لرفض الطلبات التي تحتوي على تسلسلات هروب مزدوجة، مما قد يعني أن الخادم يعتقد أن علامة الجمع في عنوان URL قد تم هروبها مرتين، أي أنه تم هروب علامة الجمع كـ %2B و ثم هرب مرة أخرى التعريف هو %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>