انا مبتدئ في PHP وأستخدم بضع دوال لفلترة المدخلات من أكواد HTML والباك سلاش وغيرها, والسؤال: هل يكفي هذا للحماية من ثغرة XSS ؟
هل يكفي فلترة المدخلات في PHP للحماية من ثغرة XSS
ثغرة الـxss سببها أن المبرمج نسي أن يحول escape رموز الـhtml مثل < إلى < عند العرض (لاحظ أن المشكلة تظهر عند العرض وليس عند الإدخال). حلها فقط أن تعمل escape عند عرض النصوص، استخدم htmlspecialchars في php، مثلاً http://codepad.org/8B5AGOVo. هذا حلها الفلترة والحذف ليست حلول.
لاتحذف أي شيء من مدخلات المستخدين أو تعدلها فهذا مزعج للمستخدمين، بعض التطبيقات السيئة إذا كتبت نص اختفى نصفه أو تحول لنجوم بسبب الفلترة، إذا كان المدخل خطأ، كأن تطلب رقم والمستخدم أدخل حرف، فأعطه رسالة أنه خطأ واطلب منه التصحيح، لكن لاتحذف أو تعدل شيء.
التعليقات