PHP中的危险函数你知道吗?

有时候为了安全我们需要禁掉一些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

推荐教程:《PHP教程》

以上就是PHP中的危险函数你知道吗?的详细内容,更多请关注求知技术网其它相关文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注