2015-12-20 3 views
-1

Есть ли способ безопасно запустить пользовательский PHP-скрипт? Я думаю, что я должен отключить:Как я могу написать скрипт PHP?

  • Еореп и все другие функции, связанные с файлами
  • Exec и другой способ, чтобы выполнить команду
  • локон
  • почты, чтобы предотвратить спам

является то, что достаточно? Как я могу отключить все это (только для этого скрипта, а не для моих скриптов)?

Спасибо за помощь.

+0

Возможный дубликат [Есть ли способ выполнить PHP-код в песочнице из php] (http://stackoverflow.com/questions/324726/is-there-a-way-to-execute-php -code-in-a-sandbox-from-inside-php) и многие другие – JJJ

+0

@Juhana Нет, этот вопрос касается изолированной среды среды, в то время как моя - изолированная песочница безопасности для пользовательских скриптов. – Zhigalin

ответ

2

Посмотрите Runkit_Sandbox: http://php.net/manual/en/runkit.sandbox.php

Инстанцирование класса Runkit_Sandbox создает новый поток со своей собственной сферой деятельности и программами стеки. Используя набор параметров, переданных конструктору, эта среда может быть ограничена подмножеством того, что может сделать первичный интерпретатор, и обеспечить более безопасную среду для выполнения кода, предоставленного пользователем.

+0

Спасибо, можете ли вы также предложить список функций/классов, которые я должен отключить, чтобы предотвратить взаимодействие с главной машиной? – Zhigalin

+0

Пожалуйста, ознакомьтесь со всеми возможными атаками безопасности, а затем отключите те функции, которые вам не нужны. http://php.net/manual/en/security.cgi-bin.attacks.php – Manikiran

+0

Собственно, у вас есть полный обзор всех проблем безопасности в php. http://php.net/manual/en/security.php – Manikiran

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