Suhosin и отключить функцию eval
Я установил Suhosin на свой выделенный сервер CentOS. centos6.7+php5.4.41+suhosin0.9.36
Я бы хотел включить функцию eval для отключения Suhosin. Я просмотрел документацию и из того, что я понял, лучшим сценарием было добавить это в php.ini:
[suhosin]
suhosin.executor.eval.blacklist= phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown
но это не помешает eval выполнить phpinfo(),<?php eval(phpinfo());?>
,
Очень надеюсь, что кто-то может указать на мою ошибку.
2 ответа
Ваш пример выполняет phpinfo(), затем пытается оценить вывод. Учитывая вашу конфигурацию, следующий пример будет заблокирован suhosin:
eval("phpinfo();");
Пожалуйста, рассмотрите возможность использования белого списка, а не черного списка, если это применимо. С точки зрения безопасности всегда лучше разрешить ограниченный набор функций, чем угадывать все плохие функции.
Также обратите внимание, что сам eval не является функцией и не может быть заблокирован с помощью disable_functions и друзьями. Сухосин обеспечивает suhosin.executor.disable_eval
для этой цели.
Открой php.ini
файл и искать disable_functions
, Написать / Записать функции, которые вы хотите отключить. Например: disable_functions=passthru,exec,system,popen,eval