PHP: как отключить опасные функции

Вместо того, чтобы просто согласиться с другим голосованием за конкретный шрифт, я рекомендовал бы читать эти сравнения программирования шрифтов, где можно учиться немного больше:

превосходная "сводка новостей" Jeff Atwood:
http://www.codinghorror.com/blog/archives/000157.html

Другой обзор 5 шрифтов с хорошими снимками экрана:
http://blog.hamstu.com/2008/02/03/the-typography-of-code/

19
задан Cheekysoft 8 December 2009 в 12:33
поделиться

3 ответа

Чтобы отключить функции, в основном по соображениям безопасности, вы можете использовать директиву disable_functions в файле конфигурации php.ini .

Но, как указано в документации:

Эта директива должна быть установлена ​​в php.ini Например, вы не можете установить это в httpd.conf.

Я полагаю, что это слишком "внутреннее", чтобы его можно было настраивать где-либо еще, кроме PHP ... А поскольку он связан с безопасностью, его настраивает системный администратор.


Тем не менее, лучшая безопасность мера - написать чистый / безопасный код, отфильтровать весь ввод, исключить весь вывод ... И не позволять никому запускать собственный код на вашем сервере!

11
ответ дан 30 November 2019 в 02:27
поделиться

Короче: вы не можете этого сделать.

Но я думаю, вы не совсем понимаете, как используются eval и эти функции. Проблема возникает, когда программисты не дезинфицируют переданные им АРГУМЕНТЫ должным образом.

Сценарий нарушителя оболочки php, о котором вы упомянули, представляет собой простой сценарий PHP, передающий аргументы этим функциям. Но у злоумышленников уже была возможность внедрить / загрузить вредоносный скрипт. Если вы вообще не используете эти функции и не передаете аргументы из пользовательского ввода, злоумышленники не смогут произвольно запускать код на вашем сервере с помощью eval () или родственников.

Собираетесь ли вы размещать эту структуру для своих пользователей? Если вы разрешаете пользователям загружать и запускать код, тогда у вас в руках более серьезная проблема.

Прочтите здесь об удаленном выполнении кода и удаленном / локальном включении файлов, чтобы узнать больше об атаках, связанных с этим: Распространенные уязвимости PHP

11
ответ дан 30 November 2019 в 02:27
поделиться

Директива disable_functions только доступен в конфигурации php.ini .

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

6
ответ дан 30 November 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: