,,一些需要禁用的PHP危险函数(disable_functions)
有时候为了安全起见,我们需要禁止一些PHP危险函数,所以需要整理以下的朋友可以参考一下。
Phpinfo()函数描述:输出PHP环境信息及相关模块、WEB环境等信息。危险等级:中等。
Passthru()函数描述:允许外部程序执行并回显输出,类似于exec()。危险等级:高
Exec()函数描述:允许执行外部程序(如UNIX Shell或CMD命令等。).危险等级:高
system()的功能描述:允许执行一个外部程序,并回显输出,类似于passthru()。危险等级:高
Chroot()函数描述:可以改变当前PHP进程的工作根目录,只有在系统支持CLI模式PHP时才能工作,并且该函数不适用于Windows系统。危险等级:高
函数描述:列出指定路径中的文件和目录。危险等级:中等。
Chgrp()函数描述:改变文件或目录所属的用户组。危险等级:高
函数描述:改变文件或目录的所有者。危险等级:高
Shell_exec()函数描述:通过Shell执行命令,并将执行结果作为字符串返回。危险等级:高
Proc_open()函数描述:执行一个命令,打开文件指针进行读写。危险等级:高
Proc_get_status()函数描述:获取用proc_open()打开的进程的信息。危险等级:高
Error_log()函数描述:将错误信息发送到指定位置(文件)。安全提示:在某些版本的PHP中,可以使用error_log()绕过PHP安全模式,执行任意命令。危险等级:低
ini_alter()的函数描述:它是ini_set()函数的别名函数,与ini_set()函数相同。详见ini_set()。危险等级:高
ini_set()函数说明:可以用来修改和设置PHP环境的配置参数。危险等级:高
Ini_restore()函数描述:可以用来将PHP环境配置参数恢复到初始值。危险等级:高
Dl()函数描述:在PHP运行的过程中(不是启动时)加载一个PHP外部模块。危险等级:高
Pfsockopen()函数描述:在Internet或UNIX域中建立套接字持久连接。危险等级:高
syslog()函数说明:可以调用UNIX系统的系统级syslog()函数。危险等级:中等。
Readlink()函数描述:返回符号链接指向的目标文件的内容。危险等级:中等。
Symlink()函数描述:在UNIX系统中建立一个符号链接。危险等级:高
popen()函数说明:可以通过popen()的参数传递一个命令,执行popen()打开的文件。危险等级:高
Stream_socket_server()函数描述:建立互联网或UNIX服务器连接。危险等级:中等。
Putenv()函数描述:用于改变PHP运行时的系统字符集环境。在5.2.6版之前的PHP中,可以使用该函数修改系统字符集环境,然后通过sendmail命令发送特殊参数执行系统SHELL命令。危险等级:高
禁用方法如下:打开/etc/php.ini文件,找到disable_functions,添加要禁用的函数名称,如下:phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell _ exec,proc _ open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。