php安全模式

php中安全模式safe_mode的配置

谁说我不能喝 提交于 2019-11-29 15:11:57
(1) 打开php的安全模式   php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),   同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,   但是默认的php.ini是没有打开安全模式的,我们把它打开:   safe_mode = on   (2) 用户组安全   当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同   组的用户也能够对文件进行访问。   建议设置为: safe_mode_gid = off   如果不进行设置,可能我们无法对我们服务器网站目录下的文件进行操作了,比如我们需要   对文件进行操作的时候。   (3) 安全模式下执行程序主目录   如果安全模式打开了,但是却是要执行某些程序的时候,可以指定要执行程序的主目录:   safe_mode_exec_dir = D:/usr/bin   一般情况下是不需要执行什么程序的,所以推荐不要执行系统程序目录,可以指向一个目录,   然后把需要执行的程序拷贝过去,比如:   safe_mode_exec_dir = D:/tool/exe   但是,我更推荐不要执行任何程序,那么就可以指向我们网页目录:   safe_mode_exec_dir = D:/usr/www

php 安全模式开启(safe_mode=on|off)

橙三吉。 提交于 2019-11-29 15:11:46
php安全模式:safe_mode=on|off 启用safe_mode指令将对在共享环境中使用PHP时可能有危险的语言特性有所限制。可以将safe_mode是指为布尔值on来启用,或者设置为off禁用。它会比较执行脚本UID(用户ID)和脚本尝试访问的文件的UID,以此作为限制机制的基础。如果UID相同,则执行脚本;否则,脚本失败。 具体地,当启用安全模式时,一些限制将生效。 1、所有输入输出函数(例如fopen()、file()和require())的适用会受到限制,只能用于与调用这些函数的脚本有相同拥有者的文件。例如,假定启用了安全模式,如果Mary拥有的脚本调用fopen(),尝试打开由Jonhn拥有的一个文件,则将失败。但是,如果Mary不仅拥有调用fopen()的脚本,还拥有fopen()所调用的文件,就会成功。 2、如果试图通过函数popen()、system()或exec()等执行脚本,只有当脚本位于safe_mode_exec_dir配置指令指定的目录才可能。 3、HTTP验证得到进一步加强,因为验证脚本用于者的UID划入验证领域范围内。此外,当启用安全模式时,不会设置PHP_AUTH。 4、如果适用MySQL数据库服务器,链接MySQL服务器所用的用户名必须与调用mysql_connect()的文件拥有者用户名相同。 安全模式和禁用的函数 下面是启用safe