dmsuslov
Новичок
проверка правильности файлового пути
Не пинайте сильно, но облазив мануал не нашел решения довольно очевидной, на первый взгляд, задачи простыми средствами.
Задача такова: есть директория в файловой системе в которой нужно создать субдиректорию. Важное условие: субдиректория не должна выходить за пределы директории. Глубже - можно, выше - нельзя. Имя субдиректории передается от клиента и, следовательно, необходима валидация. Клиент может использовать переходы типа '/./', '/../' и лишние символы '/'. Как проверить, не вышел ли он за пределы директории? Функция realpath() тут не пойдет - она работает лишь с реально существующими файлами.
Что остается? Возиться с регэкспами?
Не пинайте сильно, но облазив мануал не нашел решения довольно очевидной, на первый взгляд, задачи простыми средствами.
Задача такова: есть директория в файловой системе в которой нужно создать субдиректорию. Важное условие: субдиректория не должна выходить за пределы директории. Глубже - можно, выше - нельзя. Имя субдиректории передается от клиента и, следовательно, необходима валидация. Клиент может использовать переходы типа '/./', '/../' и лишние символы '/'. Как проверить, не вышел ли он за пределы директории? Функция realpath() тут не пойдет - она работает лишь с реально существующими файлами.
Что остается? Возиться с регэкспами?