Я делаю простой сценарий файлового менеджера для своего сайта.Php scandir limit access
Для того чтобы перечислить все файлы и категории в папке, я использую функцию scandir()
. У меня есть переменная, содержащая основной путь, например $path = /var/www/mysite/uploads
. Тогда у меня есть функция, которая принимает переменную GET, содержащую дополнительный путь, например /my/photos/
, поэтому я возвращаю содержимое /var/www/mysite/uploads/my/photos
.
Проблема в том, что если пользователь отправит ../../../
, что-то в этом роде, он поднимет дерево каталогов и сможет наблюдать за всей системой.
Как это можно ограничить? Единственное, что я гугле WHAS о chroot
, но не уверен, если это то, что мне нужно
Не позволяют пользователям иметь '' ../ на их входе, раздеть его, если они использовали это –