本篇文章给大家聊聊PHP安全,介绍一些危险的内置函数,以及禁用函数的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
PHP配置文件中的disable_functions选项能够在PHP中禁用函数,PHP内置函数中存在很多危险性极高的函数,在生成环境上一定要注意使用。如果设置不当,严重可能造成系统崩溃。
内置函数是一把双刃剑,既能帮助开发人员解决问题,同时也会给安全上造成隐患,所以合理的使用内置函数是一个置关重要的问题,下面一起来看一下危险的内置函数。
chgrp
函数功能:改变文件或目录所属的用户组;
危害性:高
chown
函数功能:改变文件或目录的所有者;
危害性:高
chroot
函数功能:改变当前PHP进程的工作根目录,仅当系统支持CLI模式时PHP才能工作,且该函数不适用于Windows系统;
危害性:高
dl
函数功能:在PHP运行过程中(非启动时)加载一个PHP外部模块;
危害性:高
exec
函数功能:允许执行一个外部程序,如unix shell或cmd命令等;
危害性:高
ini_alter
函数功能:是ini_set()函数的一个别名函数,功能与ini_set()相同;
危害性:高
ini_restore
函数功能:可用于将PHP环境配置函数恢复为初始值;
危害性:高
ini_set
函数功能:可用于修改、设置PHP环境配置参数;
危害性:高
passthru
函数功能:允许执行一个外部程序并显示输出,类似于exec();
危害性:高
pfsockopen
函数功能:建立一个Internet或unix域的socket持久连接;
危害性:高
phpinfo
函数功能:输出PHP环境信息以及相关模块、Web环境信息;
危害性:高
popen
函数功能:可通过popen()的参数传递一条命令,并对popen()所打开的文件进行执行。
危害性:高
proc_get_status
函数功能:获取使用proc_open()所打开进程信息;
危害性:高
proc_open
执行一个命令并打开文件指针用于读取以及写入;
危害性:高
putenv
用户PHP运行时改变系统字符集环境,在低于5.2.6版本的PHP中,可利用该函数修改系统字符集环境后,利用sendmail指令发送特殊参数执行系统shell命令;
危害性:高
readlink
函数功能:返回符号连接执行的目标文件内容;
危害性:中
scandir
函数功能:列出指定路径中的文件和目录;
危害性:中
shell_exec
函数功能:通过shell执行命令,并将执行结果作为字符串返回;
危害性:高
stream_socket_server
函数功能:建立一个Internet或unix服务器连接;
危害性:中
symlink
函数功能:对已有的target建立一个名为link的符号连接;
危害性:高
syslog
函数功能:可调用unix系统的系统层syslog()函数;
危害性:中
system
函数功能:允许执行一个外部程序并回显输出,类似于passthru();
危害性:高
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci 浅谈PHP中需要禁用的危险函数. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!