2009-08-07 2 views
5

Я пишу совместный проект, предназначенный для обеспечения вклада кода от пользователей. Пользователи смогут расширить класс, добавить функциональность и т. Д. И отправить код обратно на сервер для регулярного выполнения.Безопасное выполнение PHP-скриптов пользователей на сервере

Есть ли безопасный способ выполнения PHP-кода пользователей? Безопасный метод дезинфекции? Как насчет бесконечных циклов? Или я должен предложить другой язык сценариев?

+3

это не должно обрабатываться, задавая вопрос о StackOverflow. нанять эксперта или у вас возникнут большие проблемы –

+0

Это игрушечный проект, над которым я работаю сегодня вечером с друзьями и b33r. Я не думаю, что наемный эксперт будет впечатлен: D –

ответ

6
  • JailRoot для DocumentRoot

  • SafeMode ON, чтобы разрешить доступ к файлам только на определенных каталогов

  • Использование каждого пользователя MPM ограничить систему
    ресурсов для процесса апача

  • Установить безопасные настройки php.ini для memmory limit и max_execution_time

И, как отметил Saggi Malachi, это очень экспериментально, вы должны следить за действиями на сервере и иметь запасные szenarios, например. cronjobs просматривают среднюю нагрузку, если loadaverage выше порогового уровня apache и sendmail.

Другая полезная идея - скомпилировать ваш собственный php и запретить доступ к функциям php, которые могут быть «использованы» вашими пользователями.

0

Защита от доступа пользователей или изменения файлов может быть выполнена с помощью safemode.

Для защиты от бесконечных циклов требуется установить некоторое количество времени, которое PHP-интерпретатор получает для создания сайта. set_time_limit

Вам также необходимо запретить пользователям общаться с внешними серверами, чтобы избежать использования в качестве отправителя спама. allow_url_fopen

Возможно, существует множество других более серьезных проблем. Это непростая задача.

0

Может быть, я мог бы использовать на стороне сервера Javascript вместо с SpiderMonkey

Это звучит намного безопаснее!

Смежные вопросы