شرح طريقة إصلاح ثغرة XSS باستخدام دالة ()htmlspecialchars : تقوم دالة ()htmlspecialchars بفلترة المدخلات التي يقوم المستخدم بادخالها. تقوم الدالة بعمل Encode او تشفير للحروف الخاصة مثل : [ "><' ] لهذا السبب ستبطل خاصيتهم ولن يتم تنفيذ اكواد جافاسكربت في المتصفح اولا : الكود المصاب في لغة PHP لاستقبال البيانات من المستخدم كود: <?php echo "Welcome " . $_GET["name"] ; ?> لاحظ بان دالة GET['name']_$ تقوم باستقبال البيانات وعرضها باستخدام echo بدون تحقق وفلترة لذالك سيقوم Attacker باستغلال الثغرة عن طريق حقن كود خبيث : كود: https://target.com?name=Ahmed<script>alert(document.domain)</script> Source code : ثانيا : البرمجة الآمنة , سيقوم الكود بالتحقق من كل المدخلات وفلترتها وعمل Encode للاحرف الخاصة : كود: <?php echo htmlspecialchars($_GET['name']); ?> لاحظ بان دالة GET['name']_$ تقوم باستقبال البيانات وقبل ان يتم معالجة البيانات وارجاعها الى المستخدم سيتم تمرير البيانات الى دالة ()htmlspecialchars لفلترتها وعمل Encode للمدخلات الخبيثة , سيتم طباعة المدخلات بدون ان يتم تنفيذها كود: https://target.com?name=Ahmed<script>alert(document.domain)</script> Source code : Video :