在PHP编程中,存在一些可能带来安全风险的函数。这些函数如果未经适当处理或不当使用,可能会导致代码注入、数据泄露、服务器被攻击等安全问题。以下是一些常见的危险函数及其危险等级,希望能帮助到大家。
eval()
功能描述:此函数会将传递给它的字符串当作 PHP 代码执行。这可能导致严重的安全问题,特别是当输入数据来自不可信的源时
风险:代码注入,执行任意代码
替代方案:使用更安全的解析和评估方法(如正则表达式、自定义解析器),如果需要动态生成代码,尽量限制其范围并严格验证输入
危险等级:高
assert()
功能描述:此用于检查一个表达式是否为true。在PHP 7.0之前,它可以用来执行任意的PHP代码,类似于 eval()
风险:代码注入,执行任意代码
替代方案:使用条件语句(如if)来进行逻辑判断,在PHP 7.0及更高版本中,可以配置 zend.assertions 为 -1 来禁用 assert() 的代码执行功能
危险等级:高
allow_url_fopen 和 allow_url_include 配置选项
功能描述:这两个配置项允许PHP通过URL打开文件和包含远程文件。这可能导致远程文件包含(RFI)漏洞。
风险:文件包含漏洞,远程代码执行
替代方案:
关闭这些配置项(在php.ini文件中设置 allow_url_fopen = Off 和 allow_url_include = Off)
使用其他方法来读取和包含文件(如使用 curl 或 file_get_contents() 配合本地文件系统路径)
危险等级:高
passthru()
功能描述:允许执行一个外部程序并回显输出,类似于exec()
危险等级:高
exec()
功能描述:允许执行一个外部程序(如UNIX She11 或 CMD 命令等)
危险等级:高
system()
功能描述:允许执行一个外部程序并回显输出,类似于passthru()
危险等级:高
chroot()
功能描述:可改变当前 PHP 进程的工作根目录,仅当系统支持CLI模式,PHP时才能工作,且该函数不适用于 windows 系统
危险等级:高
chgrp()
功能描述:改变文件或目录所属的用户组
危险等级:高
chown()
功能描述:改变文件或目录的所有者
危险等级:高
shell_exec()
功能描述:通过 She11 执行命令,并将执行结果作为字符串返回
危险等级:高
proc_open()
功能描述:执行一个命令并打开文件指针用于读取以及写入
危险等级:高
proc_get_status()
功能描述:获取使用 proc_open()所打开进程的信息
危险等级:高
ini_alter()
功能描述:是 ini_set()函数的一个别名函数,功能与 ini_set()相同。具体参见 ini set()
危险等级:高
ini_set()
功能描述:可用于修改、设置 PHP 环境配置参数
危险等级:高
ini_restore()
功能描述:可用于恢复 PHP 环境配置参数到其初始值
危险等级:高
dl()
功能描述:在 PHP 进行运行过程当中(而非启动时)加载一个PHP 外部模块
危险等级:高
pfsockopen()
功能描述:建立一个 Internet 或 UNIX 域的 socket 持久连接
危险等级:高
symlink()
功能描述:在 UNIX 系统中建立一个符号链接
危险等级:高
popen()
功能描述:可通过 popen()的参数传递一条命令,并对 popen()所打开的文件进行执行
危险等级:高
putenv()
功能描述:用于在 PHP运行时改变系统字符集环境。
在低于5.2.6 版本的 PHP 中,可利用该函数修改系统字符集环境后,利用 sendmail 指令发送特殊参数执行系统 SHELL 命令
危险等级:高
phpinfo()
功能描述:输出 PHP 环境信息以及相关的模块、WEB环境等信息
危险等级:中
scandir()
功能描述:列出指定路径中的文件和目录
危险等级:中
syslog()
功能描述:可调用 UNIX 系统的系统层 syslog()函数
危险等级:中
readlink()
功能描述:返回符号连接指向的目标文件内容
危险等级:中
stream_socket_server()
功能描述:建立一个 Internet 或 UNIX 服务器连接
危险等级:中
error_log()
功能描述:将错误信息发送到指定位置(文件)
安全备注:在某些版本的 PHP 中,可使用 error_log()绕过 PHP safe mode执行任意命令
危险等级:低
总结
在使用PHP开发应用程序时,务必注意上述危险函数的使用。尽量避免使用这些函数,同时,定期审查代码库和依赖项的安全性是非常重要的。

優(yōu)網(wǎng)科技秉承"專業(yè)團隊、品質(zhì)服務(wù)" 的經(jīng)營理念,誠信務(wù)實的服務(wù)了近萬家客戶,成為眾多世界500強、集團和上市公司的長期合作伙伴!
優(yōu)網(wǎng)科技成立于2001年,擅長網(wǎng)站建設(shè)、網(wǎng)站與各類業(yè)務(wù)系統(tǒng)深度整合,致力于提供完善的企業(yè)互聯(lián)網(wǎng)解決方案。優(yōu)網(wǎng)科技提供PC端網(wǎng)站建設(shè)(品牌展示型、官方門戶型、營銷商務(wù)型、電子商務(wù)型、信息門戶型、DIY體驗、720全景展廳及3D虛擬仿真)、移動端應(yīng)用(手機站、APP開發(fā))、微信定制開發(fā)(微信官網(wǎng)、微信商城、企業(yè)微信)、微信小程序定制開發(fā)等一系列互聯(lián)網(wǎng)應(yīng)用服務(wù)。