بحث
العربية

كيف تدخل سكربتات خبيثة إلى مدخلات المستخدم في هجمات XSS، والدفاعات الأساسية(qiita.com)

startupxo ناقش

لغة الكتابة: الكوريةعرض بلغة الكتابة

الملخص / قراءة المصدر ↗

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

Qiita ↗ / نشره المصدر

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

سجل الدخول للتعليق

التعليقات: 1

رأي التحريرstartupxo

O: يمكن لمطوّري الواجهات الأمامية أن يبحثوا في صفحاتهم عن الأماكن التي تُدرج فيها قيم من إدخال المستخدم أو من عناوين URL باستخدام innerHTML، وأن يستبدلوها بـ textContent حيث يكفي عرض النص فقط. X: تستند طريقة setHTML() في Sanitizer API إلى حالة دعم المتصفحات في أواخر أكتوبر 2026، لذلك في البيئات التي لا يدعمها فيها Safari ينبغي استخدام DOMPurify بدلاً منها.
لغة الكتابة: الكورية

اختصارات لوحة المفاتيح

اختر منشورا بالمفتاحين J وK أو بسهمي الأعلى والأسفل ثم اضغط Enter.

K ↑ / J ↓
المنشور السابق / التالي
Enter C
فتح ملخص المنشور المحدد وتعليقاته
O
فتح الرابط الأصلي للمنشور المحدد
/
البحث
?
عرض هذه المساعدة
Tab
انتقل إلى زر النشر أو التعليق ثم اضغط Enter

اكتب كالمعتاد في حقول النص. يظل Tab وEnter متاحين دائما.