防止c99和类似的shell

我试图尽可能保护我的服务器,尽量不限制我的select,所以作为第一步,我已经防止危险的function与PHP

disable_functions = "apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode" 

但我仍然在与目录旅行战斗,我似乎无法似乎能够通过使用像c99一样的shell脚本来限制它,我可以从我的/ home / dir到光盘上的任何位置。

我怎么能一劳永逸呢?

我试图尽可能保护我的服务器,而不会限制我的select

。 。 。 那么现在不会很安全,是吗?
通过在你偶然发现的小孔上放一点口香糖,你就无法保证一个系统的安全。 如果你认为这是正确的做法,那么你就会以错误的方式看待安全问题。
像迈克尔·汉普顿(Michael Hampton)说的 ,你需要从编写安全代码开始。


但我仍然在战斗目录旅行,我似乎无法似乎能够限制它…我怎么能限制它一劳永逸?

chroot web服务器。 这是唯一的解决scheme。
你所采取的任何其他步骤都是口香糖堵塞一个洞 – 如果你想确保恶意用户不能将任何东西敏感locking在一个不包含敏感内容的盒子里,不要让它们出来。