Никогда не рекомендуется передавать необработанный пользовательский ввод непосредственно в команду, особенно что-то вроде include (). Вы не обязательно знаете, как будет обрабатываться базовый веб-сервер / ОС, например, относительные пути, расширенные символы и т. Д. Любой из них, использованный злонамеренно или иным образом, может привести к тому, что пользователь увидит что-то, чего он не должен см.
Один из возможных эксплойтов: пользователь передает относительный путь к вредоносному скрипту в известном месте на сервере. http://webserver/yourscript.php?page=%2e%2e%2f%2e%2e%2f%2e%2e%2fhome/bad_user/evil_script
которую ваша функция могла бы перевести на страницы /../../../ home / bad_user / evil_script.php, которые иногда будут включать в себя. Таким образом, ваша веб-страница, когда ее обслуживают, может очень хорошо выполнить php-скрипт bad_user, который он может использовать для всякого рода неприятных вещей.
По крайней мере, вы должны назначить $ _GET ['path'] для новой переменной и addlashes ().