PHP 风险函数说明

PHP 危险函数#

函数 作用 建议 级别
phpinfo 输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 禁用影响不大
passthru 允许执行一个外部程序并回显输出 禁用影响不大
exec 允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等) 禁用影响不大
system 允许执行一个外部程序并回显输出 禁用影响不大
chroot 可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式 禁用影响不大
scandir 列出指定路径中的文件和目录。 有可能受影响
chgrp 改变文件或目录所属的用户组。 禁用影响不大
chown 改变文件或目录的所有者 禁用影响不大
shell_exec 通过 Shell 执行命令,并将执行结果作为字符串返回。 禁用影响不大
proc_open 执行一个命令并打开文件指针用于读取以及写入。 禁用有可能没法执行定时任务
proc_get_status 获取使用 proc_open () 所打开进程的信息。 禁用有可能没法执行定时任务
ini_alter、ini_set 可用于修改、设置 PHP 环境配置参数。 禁用影响不大
ini_restore 可用于恢复 PHP 环境配置参数到其初始值。 禁用影响不大
dl 在 PHP 进行运行过程当中(而非启动时)加载一个 PHP 外部模块 禁用影响不大
pfsockopen 建立一个 Internet 或 UNIX 域的 socket 持久连接 禁用可能会影响 RPC、Socket 通信等
syslog 可调用 UNIX 系统的系统层 syslog () 函数 禁用影响不大
readlink 返回符号连接指向的目标文件内容 禁用影响不大
symlink 创建软链接 禁用影响不大
popen 可通过 popen () 的参数传递一条命令,并对 popen () 所打开的文件进行执行 禁用影响不大
stream_socket_server 建立一个 Internet 或 UNIX 服务器连接 禁用可能会影响 RPC、Socket 通信等

以上结果,并不是最终结果。最终需要结合业务,分析其对业务的影响范围。禁用的方法如下。

打开php.ini,搜索disable_functions,追加即可。

disable_functions = passthru,exec,system,chroot,chgrp,chown,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,popepassthru,stream_socket_server
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。