قد يتضمن النص القادم من مستخدم أو خدمة خارجية شيفرة لا ينبغي تنفيذها. الحماية تعتمد على سياق العرض، لأن النص داخل HTML يختلف عن قيمة داخل JavaScript أو عنوان رابط.
الفكرة الأساسية
اعتمد الإخراج النصي والترميز الملائم افتراضيًا. عندما يحتاج المنتج محتوى غنيًا، استخدم مكتبة تنقية محدثة وسياسة تسمح بالعناصر المطلوبة فقط.
خطوات عملية
- استخدم textContent للمحتوى النصي في المتصفح.
- تحقق من بروتوكولات الروابط المسموحة.
- اختبر محرر المحتوى والقوالب ونقاط إدخال HTML.

مثال تطبيقي
وصف تعليق عادي يُعرض كنص، أما مقال من محرر غني فيمر عبر تنقية قبل عرضه مع الحفاظ على التنسيق المسموح.
خطأ شائع ينبغي تجنبه
سياسة CSP طبقة إضافية ولا تغني عن معالجة الإخراج. كما أن تنقية المحتوى ثم تعديله بسلوك غير آمن قد تعيد الخطر.
مثال تقني مبسّط
المقتطف التالي يوضح الفكرة، ويحتاج إلى تكييف مع بنية مشروعك ومساراته والتحقق المناسب قبل استخدامه.
const label = document.createElement("span");
label.textContent = untrustedText;
container.append(label);للتوسع في الموضوع
صور توضيحية: الغلاف من Unsplash، الصورة الداخلية من Unsplash. ترخيص الاستخدام.
