triton4ik
Новичок
Запрет выхода из директории скрипта.(аля shell)
Здраствуйте.
Хотел бы поинтересоваться, как лучше сделать что бы скрипт мог продвигаться вглубь директории, но не мог выходить из своей папки вверх.
Есть функция, которой я передаю относительный путь.
С помощью realpath конвертирую из относительного в полный S:\home\localhost\www
И есть эталон S:\home\localhost\www
Вот как лучше проверить, что в конвертируем пути всегда присутствует эталон.
Пробывал регуляркой, что то не коректно получается.
$folder=urldecode($folder);
$folder=strtolower(realpath($folder));
$PHP_SELF=$_SERVER["PHP_SELF"];
$PATH_TRANSLATED=$_SERVER["PATH_TRANSLATED"];
$scriptfolder=str_replace($PHP_SELF, "",$PATH_TRANSLATED );
if (preg_match($scriptfolder, $folder)) {
echo "Вхождение найдено.";
} else {
echo "Вхождение не найдено.";
}
echo $scriptfolder.$folder; \\Напечатает в обоих случая S:\home\localhost\www
Подскажите пожалуйста, может я не правильно что то делаю?
Спасибо.
Здраствуйте.
Хотел бы поинтересоваться, как лучше сделать что бы скрипт мог продвигаться вглубь директории, но не мог выходить из своей папки вверх.
Есть функция, которой я передаю относительный путь.
С помощью realpath конвертирую из относительного в полный S:\home\localhost\www
И есть эталон S:\home\localhost\www
Вот как лучше проверить, что в конвертируем пути всегда присутствует эталон.
Пробывал регуляркой, что то не коректно получается.
$folder=urldecode($folder);
$folder=strtolower(realpath($folder));
$PHP_SELF=$_SERVER["PHP_SELF"];
$PATH_TRANSLATED=$_SERVER["PATH_TRANSLATED"];
$scriptfolder=str_replace($PHP_SELF, "",$PATH_TRANSLATED );
if (preg_match($scriptfolder, $folder)) {
echo "Вхождение найдено.";
} else {
echo "Вхождение не найдено.";
}
echo $scriptfolder.$folder; \\Напечатает в обоих случая S:\home\localhost\www
Подскажите пожалуйста, может я не правильно что то делаю?
Спасибо.
