Пожалуйста, взгляните также на http://www.suphp.org/, где исполняются сценарии PHP с правами пользователя, а не пользователь, от которого работает веб-сервер. Если вы убедитесь, что веб-сервер может читать каталог (но не обязательно сам файл PHP), он сможет выполнять эти файлы с разрешениями пользователя. Другие пользователи не должны иметь возможность читать или получать к ним доступ в этом случае. Это должен быть более изящный и безопасный способ справиться с этим.
Защищать сервер Apache от ненадежного PHP-кода?
У меня необычная ситуация, когда мне нужно, чтобы несколько пользователей могли загружать и выполнять код PHP на моем сервере Apache, но я не могу позволить одному пользователю получить доступ к исходному тексту PHP другого пользователя (если конкретные примеры помогут вам чувствовать себя лучше, представьте, что я хостинг конкурс программирования PHP).
Вот что у меня есть в PHP.ini:
disable_functions = readfile, fpassthru, file, file_get_contents, система, fopen, символическая ссылка, переименование, копирование, exec, passthru, pcntl_exec, backtick_operator, shell_exec, popen, proc_open
Какие еще функции мне нужно добавить в этот список, чтобы предотвратить доступ кода PHP к локальным файлам (и, следовательно, к другому источнику PHP?)?
3 ответа на вопрос
Похоже, вам нужно включить безопасный режим PHP, это отключит все соответствующие функции.
(Обратите внимание, что это было отменено в 5.3 и удалено в PHP6)
Вместо того, чтобы пытаться справиться с этим в PHP, я бы повысил уровень или два и использовал бы учетные записи Apache + unix для разделения вещей - например, с помощью suexec, чтобы разделить процессы пользователя.
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Какое программное обеспечение я должен использовать для шифрования моего жесткого диска?
-
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
3
Может ли существующее шифрование беспроводной сети реально защитить сеть?
-
3
Каковы различия между оконными менеджерами Linux?