Я пытаюсь настроить сервер PHP с использованием IIS, но столкнулся с небольшим затруднением.
У нас будет несколько пользователей с разными домашними каталогами, и пользователь «из коробки» может получить доступ к файлам пользователя 2, например, используя операторы include, выполнив:
include('..\User2\file.php');
Есть ли способ, которым я могу безопасно сказать PHP разрешить доступ к файлам только ниже определенного пути к файлу (т. Е. Пользователь1 может получить доступ только к своим собственным файлам в. \ User1)?
Если нет, есть ли лучший способ сделать это?
Спасибо!
Думаю, я нашел решение …
Структура файла выглядит следующим образом:
D: \ Wwwroot \ User1 \
D: \ Wwwroot \ User2 \
В php.ini добавьте следующее:
[PATH=D:/wwwroot/User1/]
open_basedir=D:/wwwroot/User1/
[PATH:=D:/wwwroot/User2]
open_basedir=D:/wwwroot/User2/
Затем PHP откажется от открытых файлов в ../User2/ для User1 и файлов в ../User1/ для User2.
Других решений пока нет …