我阅读了有关 PHP_SELF 和 htmlspecialchars 的所有帖子,并按照它进行了操作。但我不确定我网站的行为是否正确。
下面是我的代码。
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post" id="enquiryform" name="enquiryform">
当我将 url 输入为http://mydomain.com/enquiry.php ?alert('hacked') 时,它工作正常。
但是当我输入
http://mydomain.com/enquiry.php/<script>alert('hacked')</script>
or
http://mydomain.com/enquiry.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E
它显示没有任何CSS的页面。但它在任何情况下都不会显示任何警报框(即使我不使用 htmlSpecialchars)。
我很困惑这里发生了什么。
提前感谢您的帮助。