انتقل إلى محتوى الدرس

Dangerous HTML and URL Risks مخاطر حقن HTML والروابط الخبيثة

ضمّن تعابير JavaScript الديناميكية في النصوص والسمات عبر الأقواس المعقوفة، وميّز التعابير عن الجمل البرمجية، وتعرف على الحماية التلقائية ضد هجمات XSS ومواضع كسرها.
3 صفوف تعليمية
ReactJS
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

انتبه جيداً إلى المنفذين الوحيدين اللذين قد يكسر بهما المبرمج درع الحماية التلقائي في React عن غير قصد:

  • خاصية dangerouslySetInnerHTML: سُميت بكلمة «خطير» عمداً لتنبيهك! فتمرير نصوص المستخدم إليها يحقن عناصر خاماً مباشرة في الصفحة، لذا يُحظر استخدامها مع أي محتوى غير موثوق دون تطهيره بمكتبة قوائم بيضاء صارمة مثل DOMPurify.
  • روابط href غير المفحوصة: ترميز النصوص لا يمنع بروتوكول javascript: إذا وُضع في سمة الرابط <a href={userUrl}>! تحقق دائماً من الروابط الخارجية عبر new URL() ولا تسمح إلا بالبروتوكولات الآمنة https: أو http: أو mailto:.

راجع ملخص القواعد والأمان في الجدول التالي:

النمط البرمجي في JSXالسلوك وقت التشغيلالحكم الهندسي والأمني
<p>{untrustedText}</p>يحول المحارف إلى عقدة نصية آمنة غير تنفيذيةآمن تلقائياً ضد حقن وسوم XSS النصية
<img src={imageUrl} />يمرر قيمة المتغير البرمجي مباشرة بدون تنصيصآمن مع المسارات المحلية أو بروتوكول https:
<a href={userSubmittedUrl}>يربط بروتوكول الرابط مباشرة بعنصر الانتقاليلزم فحص البروتوكول وحظر روابط javascript:
dangerouslySetInnerHTMLيحقن شيفرة HTML خاماً دون أي ترميز تلقائيخطر؛ لا يُستخدم إلا بعد تطهير صارم بـ DOMPurify
الصف 2 ملاحظة هامة
الصف 3 ملاحظة هامة
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

تعلّمت في هذا الدرس تضمين تعابير JavaScript الديناميكية في النصوص والسمات بالأقواس المعقوفة، والتفريق بين التعابير والجمل التحكمية، وتنسيق القيم بدوال Intl النقية، وآلية الحماية التلقائية ضد XSS مع ضوابط تأمين الروابط وحقن HTML. الخطوة التالية: انتقل الآن إلى الدرس رقم 9 «تنسيق المكونات في React» لمواصلة البناء التراكمي المتدرج في مسار React الحديث.