PHP危险函数禁用深入详解

网络编程 2021-07-04 23:06www.168986.cn编程入门
这篇文章主要介绍了PHP危险函数禁用深入详解,列举了一些比较敏感的函数,有感兴趣的同学可以学习下

error_log()

功能描述将错误信息发送到指定位置(文件)。 
安全备注在某些版本的 PHP 中,可使用 error_log() 绕过 PHP safe mode, 执行任意命令。 
危险等级低

phpinfo()

功能描述输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 
危险等级中

scandir() 

功能描述列出指定路径中的文件和目录。 
禁用建议不建议禁用,因为thinkphp框架需要调用。
危险等级中

syslog() 

功能描述可调用 UNIX 系统的系统层 syslog() 函数。 
危险等级中

readlink() 

功能描述返回符号连接指向的目标文件内容。 
危险等级中

stream_socket_server() 

功能描述建立一个 Inter 或 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 环境配置参数。

禁用建议不建议禁用,因为很多程序需要使用 ,比如

<?php
ini_set("error_reporting","E_ALL & ~E_NOTICE");//设置 PHP的报错级别并返回当前级别。
?>

危险等级高

ini_alter() 

功能描述是 ini_set() 函数的一个别名函数,功能与 ini_set() 相同。
危险等级高

ini_restore() 

功能描述可用于恢复 PHP 环境配置参数到其初始值。 
危险等级高

dl() 

功能描述在 PHP 进行运行过程当中(而非启动时)加载一个 PHP 外部模块。 
危险等级高

pfsockopen() 

功能描述建立一个 Inter 或 UNIX 域的 socket 持久连接。 
危险等级高

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

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

到此这篇关于PHP危险函数禁用深入详解的文章就介绍到这了,更多相关PHP危险函数禁用内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by