Пожалуйста, , а не используйте PHP_SELF, потому что это также может быть /index.php/"><script>alert(1)</script>/
.
Часто используется для атак XSS.
Вместо этого используйте индекс SCRIPT_NAME ! SCRIPT_NAME всегда будет указывать на фактический файл PHP, а не на пользовательский ввод.
Привет
Edit:
Два человека отмечают, что SCRIPT_NAME не будет работать при использовании mod_rewrite. Это неверно, и я думаю, что эти люди должны прочитать, прежде чем они проголосуют за.
Вот вам тестовый сценарий ***:
$ cat .htaccess
RewriteEngine On
RewriteRule testme/ /testmenot.php
$ cat testmenot.php
<? echo $_SERVER['SCRIPT_NAME']; ?>
$ GET hostname/testme/
/testmenot.php
$_SERVER['REQUEST_URI']
содержит "/ testme /", что, я думаю, эти люди ожидали в SCRIPT_NAME. Но это также может быть не в PHP_SELF.
/ меня скрещивает пальцы
: E