- هجوم XSS يشغّل في متصفحات مستخدمين آخرين سكربتات خبيثة أعدّها المهاجم. السكربت برنامج صغير يحرّك صفحة الويب. يشرح المصدر أن فتح رابط خبيث أو عرض صفحة موبوءة قد يكفي لتشغيله بصلاحيات ذلك الموقع.
- يقسّم المصدر هجمات XSS إلى أنواع: المنعكسة والمخزّنة والقائمة على DOM. تحدث المنعكسة والمخزّنة عندما ينشئ الخادم HTML خطرا ويعيده. أما القائمة على DOM فتحدث عندما يرسل الخادم HTML طبيعيا فقط، ثم يدرج سكربت المتصفح قيمة من عنوان URL في الصفحة، لذلك يصعب منعها بالهروب من جهة الخادم.
- الدفاع الأساسي هو إدراج مدخلات المستخدم باستخدام textContent بدلا من innerHTML، بحيث تظهر نصا فقط. يعرض المصدر أيضا واجهات Sanitizer مثل setHTML(). ويستند إلى مواد web.dev فيذكر أن Firefox تدعمها منذ 148 (2026 فبراير)، وأن Chrome وEdge تدعمانها منذ 146، وأن Safari لا تدعمها.
- تمنع ملفات تعريف الارتباط HttpOnly السكربتات من قراءتها، مما يقلل سرقة معلومات الجلسة. لكنها لا تمنع تنفيذ السكربت نفسه. أما CSP فيقيّد تنفيذ السكربتات غير المسموح بها، لكن المصدر يذكر مقايضة: إعداد التكاملات مع الخدمات الخارجية مرهق، والشاشات قد تتعطل بسهولة.
O: يمكن لمطوّري الواجهات الأمامية أن يبحثوا في صفحاتهم عن الأماكن التي تُدرج فيها قيم من إدخال المستخدم أو من عناوين URL باستخدام innerHTML، وأن يستبدلوها بـ textContent حيث يكفي عرض النص فقط.
X: تستند طريقة setHTML() في Sanitizer API إلى حالة دعم المتصفحات في أواخر أكتوبر 2026، لذلك في البيئات التي لا يدعمها فيها Safari ينبغي استخدام DOMPurify بدلاً منها.