Проблема: пользователь может контролировать содержимое $ _SERVER ['PHP_SELF']
Допустим, ваш код находится в индексе. php
Поэтому, когда вы звоните https://www.yourserver.com/index.php ваш код будет работать как указано. Но index. php также будет вызываться, когда кто-то вызовет
http://localhost/phpinfo.php/%22/%3E%3Cscript%3Ealert('Hello');%3C/script%3E%3Cbr
. Часть /% 22 /% 3E% 3Cscript% 3Ealert ('Hello');% 3C / script% 3E% 3Cbr вызывается PATHINFO
Когда вы попробуете это, вы увидите, что некоторые javascript также будут выполнены.
Какой-то злой пользователь может сгенерировать такую ссылку с любым javascript в нем и отправить ее по электронной почте его жертве в надежде, что он нажмет на нее, его javascript будет выполнен в браузере жертвы. Возможно, он сможет украсть идентификатор сеанса у этого пользователя и захватить его сеанс