本文主要介绍了PHP危险函数禁用的深度讲解,并列出了一些敏感函数,感兴趣的同学可以借鉴一下。
error_log()
描述:将错误消息发送到指定位置(文件)。
安全提示:在某些版本的PHP中,可以使用error_log()绕过PHP安全模式,执行任意命令。
危险等级:低
phpinfo()
描述:输出PHP环境信息和相关模块,WEB环境等信息。
危险等级:中等。
scandir()
描述:列出指定路径中的文件和目录。
建议:不建议禁用,因为需要调用thinkphp框架。
危险等级:中等。
syslog()
描述:可以调用UNIX系统的syslog()函数。
危险等级:中等。
readlink()
描述:返回符号连接指向的目标文件的内容。
危险等级:中等。
stream_socket_server()
描述:建立互联网或UNIX服务器连接。
禁用:不建议禁用,需要使用workerman框架。
危险等级:中等。
passthru()
描述:允许执行外部程序并回显输出,类似于exec()。
危险等级:高
exec()
描述:允许执行外部程序(如UNIX Shell或CMD命令等)。).
危险等级:高
system()
描述:允许执行外部程序并回显输出,类似于passthru()。
危险等级:高
chroot()
说明:可以改变当前PHP进程的工作根目录,只有在系统支持CLI模式PHP的情况下才能工作,该功能不适用于Windows系统。
危险等级:高
chgrp()
描述:更改文件或目录所属的用户组。
危险等级:高
chown()
描述:更改文件或目录的所有者。
危险等级:高
shell_exec()
描述:通过Shell执行命令,并以字符串形式返回执行结果。
危险等级:高
proc_open()
描述:执行一个命令,打开文件指针进行读写。
危险等级:高
proc_get_status()
描述:获取用proc_open()打开的进程的信息。
危险等级:高
ini_set()
说明:可以用来修改和设置PHP环境的配置参数。
建议:不建议禁用,因为需要使用许多程序,例如:
1?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
2ini_set(‘error_reporting ‘,’ E _ ALL ~ E _ NOTICE ‘);//设置PHP的错误级别,返回当前级别。
3?
危险等级:高
ini_alter()
说明:它是ini_set()函数的别名函数,与ini_set()函数相同。
危险等级:高
ini_restore()
描述:它可以用来将PHP环境配置参数恢复到初始值。
危险等级:高
dl()
描述:在PHP运行时加载一个PHP外部模块(而不是启动)。
危险等级:高
pfsockopen()
描述:建立互联网或UNIX域的套接字持久连接。
危险等级:高
symlink()
描述:在UNIX系统中建立一个符号链接。
危险等级:高
popen()
描述:可以通过popen()的参数传递一个命令,执行popen()打开的文件。
危险等级:高
putenv()
描述:用于改变PHP运行时的系统字符集环境。在5.2.6版之前的PHP中,可以使用该函数修改系统字符集环境,然后通过sendmail命令发送特殊参数执行系统SHELL命令。
危险等级:高
fsockopen()
说明:一个可以实现远程登录访问的功能,也很容易被黑客用来攻击PHPDDOS。phpddos的原理是发出upd包,curl当然可以,但是fsockopen默认可用,curl默认不加载。
危险等级:高
禁用方法:
打开php.ini文件,找到disable_functions,在等号(=)后添加要禁用的函数名,如下所示:
syslog、readlink、passthru、exec、system、chroot、chgrp、chown、shell_exec、proc_open、proc_get_status、ini_alter、ini_restore、dl、pfsockopen、symlink、popen、putenv、fsocket、fsockopen
1 disable_functions=syslog、readlink、passthru、exec、system、chroot、chgrp、chown、shell_exec、proc_open、proc_get_status、ini_alter、ini_restore、dl、pfsockopen、symlink、popen、putenv、fsocket、fsockopen
disable_functions=syslog、readlink、passthru、exec、system、chroot、chgrp、chown、shell_exec、proc_open、proc_get_status、ini_alter、ini_restore、dl、pfsockopen、symlink、popen、putenv、fsocket、fsockopen
到此这篇关于服务器端编程语言(专业超文本预处理器的缩写)危险函数禁用深入详解的文章就介绍到这了,更多相关服务器端编程语言(专业超文本预处理器的缩写)危险函数禁用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
文章转自脚本之家,原文链接:https://www。jb51。net/article/207027。html文件的后缀


