محمود أبوالحسن

مطور ويب شامل

تصميم الرسومات

مطور ووردبريس

مطور لارافيل

مصمم باستخدام فيغما

مستقل

محمود أبوالحسن
محمود أبوالحسن

مطور ويب شامل

تصميم الرسومات

مطور ووردبريس

مطور لارافيل

مصمم باستخدام فيغما

مستقل

أفكار وتجارب تستحق المشاركة

عرض محتوى المستخدم دون XSS

1 دقيقة قراءة تقريبًا
ابدأ القراءة
عرض محتوى المستخدم دون XSS

قد يتضمن النص القادم من مستخدم أو خدمة خارجية شيفرة لا ينبغي تنفيذها. الحماية تعتمد على سياق العرض، لأن النص داخل HTML يختلف عن قيمة داخل JavaScript أو عنوان رابط.

الفكرة الأساسية

اعتمد الإخراج النصي والترميز الملائم افتراضيًا. عندما يحتاج المنتج محتوى غنيًا، استخدم مكتبة تنقية محدثة وسياسة تسمح بالعناصر المطلوبة فقط.

خطوات عملية

  1. استخدم textContent للمحتوى النصي في المتصفح.
  2. تحقق من بروتوكولات الروابط المسموحة.
  3. اختبر محرر المحتوى والقوالب ونقاط إدخال HTML.

الأمن السيبراني — صورة توضيحية

مثال تطبيقي

وصف تعليق عادي يُعرض كنص، أما مقال من محرر غني فيمر عبر تنقية قبل عرضه مع الحفاظ على التنسيق المسموح.

خطأ شائع ينبغي تجنبه

سياسة CSP طبقة إضافية ولا تغني عن معالجة الإخراج. كما أن تنقية المحتوى ثم تعديله بسلوك غير آمن قد تعيد الخطر.

مثال تقني مبسّط

المقتطف التالي يوضح الفكرة، ويحتاج إلى تكييف مع بنية مشروعك ومساراته والتحقق المناسب قبل استخدامه.

const label = document.createElement("span");
label.textContent = untrustedText;
container.append(label);

للتوسع في الموضوع

التوثيق والمرجع الرسمي

صور توضيحية: الغلاف من Unsplash، الصورة الداخلية من Unsplash. ترخيص الاستخدام.

شارك المقال

شارك هذه الفكرة مع من تهمّه.

لنتحدث عن فكرتك القادمة

لديك سؤال أو فكرة مشروع؟ يسعدني التواصل معك.

اتصل بنا
Dark Mode EN English Buy Me A Coffee Buy Me A Coffee