我已经在我的专用 CentOS 服务器上安装了 Suhosin。我有大约 80 个帐户,其中大多数运行 Joomla 或 Wordpress 网站。当涉及到 eval 代码的黑客攻击和注入时,其中一些已经过时了。
我想启用 Suhosin 的禁用 eval 功能,但不会破坏以合法方式使用 eval 的网站的功能。我浏览了文档,据我了解,最好的方案是在 php.ini 中添加它:
suhosin.executor.disable_eval = On
suhosin.executor.eval.whitelist =
suhosin.executor.eval.blacklist = include, include_once, require, require_once, curl_init, fpassthru, file, base64_encode, base64_decode, mail, exec, system, proc_open, leak, syslog, pfsockopen, shell_exec, ini_restore, symlink, stream_socket_server, proc_nice, popen, proc_get_status, dl, pcntl_exec, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, socket_accept, socket_bind, socket_connect, socket_create, socket_create_listen, socket_create_pair, link, register_shutdown_function, register_tick_function
根据我阅读文档的理解,黑名单中的任何内容都将被删除并记录,因为白名单是空的。但事实并非如此。似乎一切都被删除并记录了。
由于制作白名单几乎是不可能的,我想问一下这是否与我对配置的误解有关,或者某些东西没有按预期工作。
提前感谢您的任何帮助。