چگونه از سوء استفاده‌های $_SERVER["PHP_SELF"] جلوگیری کنیم؟(How To Avoid $_SERVER["PHP_SELF"] Exploits?)

$_SERVER["PHP_SELF"] را می توان با استفاده از تابع htmlspecialchars() اجتناب کرد.


کد فرم باید به شکل زیر باشد:



<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

تابع htmlspecialchars() کاراکترهای خاص را به موجودیت های HTML تبدیل می کند. حال اگر کاربر
سعی می کند از متغیر PHP_SELF سوء استفاده کند، خروجی زیر را به همراه خواهد داشت:



<form method="post" action="test_form.php/&quot;&gt;&lt;script&gt;alert('hacked')&lt;/script&gt;">< /div>

تلاش برای سوءاستفاده شکست می‌خورد و هیچ آسیبی وارد نمی‌شود!