شرح صفوف ومحتوى الفقرة
تنشأ ثغرة حجب الخدمة بالتعبيرات النمطية (ReDoS) عند كتابة نمط غامض يضم مكممات متداخلة مثل /(a+)+$/ وتمرير نص طويل ينتهي بحرف غير مطابق؛ إذ يجرب المحرك ملايين المسارات التراجعية الأسية قبل إعلان الفشل مما يجمد تبويب المتصفح أو يعطل الخادم تماماً!
احمِ تطبيقاتك من بطء ReDoS بثلاث قواعد صارمة:
- امنع تداخل المكممات التكرارية مثل
(x+)+واستبدلها بنمط خطي بسيطx+أو مدى محدد{1,64}. - افحص طول المدخلات أولاً (
str.length <= 254) قبل تمريرها لأي نمط معقد. - لا تمرر نصاً كتبه المستخدم مباشرةً إلى
new RegExp(userInput)دون تهريب رموزه الخاصة!
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس التعبيرات النمطية RegExp بصيغتيها الحرفية والديناميكية، والأعلام الأساسية، وفئات المحارف والمراسي والمكممات، ودوال test وmatchAll وreplace، والوقاية من ثغرات التراجع الكارثي ReDoS. الخطوة التالية: انتقل إلى درس «اكتشاف وتصحيح الأخطاء البرمجية في JavaScript» لإتقان أدوات التشخيص وجداول المراقبة ونقاط التوقف.