一些需要禁用的PHP危险函数(disable_functions)


Posted in PHP onFebruary 23, 2012

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

passthru()
功能描述:允许执行一个外部程序并回显输出,类似于 exec()。
危险等级:高

exec()
功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。
危险等级:高

system()
功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。
危险等级:高

chroot()
功能描述:可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式
PHP 时才能工作,且该函数不适用于 Windows 系统。
危险等级:高

scandir()
功能描述:列出指定路径中的文件和目录。
危险等级:中

chgrp()
功能描述:改变文件或目录所属的用户组。
危险等级:高

chown()
功能描述:改变文件或目录的所有者。
危险等级:高

shell_exec()
功能描述:通过 Shell 执行命令,并将执行结果作为字符串返回。
危险等级:高

proc_open()
功能描述:执行一个命令并打开文件指针用于读取以及写入。
危险等级:高

proc_get_status()
功能描述:获取使用 proc_open() 所打开进程的信息。
危险等级:高

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

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

ini_set()
功能描述:可用于修改、设置 PHP 环境配置参数。
危险等级:高

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

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

pfsockopen()
功能描述:建立一个 Internet 或 UNIX 域的 socket 持久连接。
危险等级:高

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

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

symlink()
功能描述:在 UNIX 系统中建立一个符号链接。
危险等级:高

popen()
功能描述:可通过 popen() 的参数传递一条命令,并对 popen() 所打开的文件进行执行。
危险等级:高

stream_socket_server()
功能描述:建立一个 Internet 或 UNIX 服务器连接。
危险等级:中

putenv()
功能描述:用于在 PHP 运行时改变系统字符集环境。在低于 5.2.6 版本的 PHP 中,可利用该函数
修改系统字符集环境后,利用 sendmail 指令发送特殊参数执行系统 SHELL 命令。
危险等级:高

禁用方法如下:
打开/etc/php.ini文件,
查找到 disable_functions ,添加需禁用的函数名,如下:
phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen

PHP 相关文章推荐
php基础知识:控制结构
Dec 13 PHP
php的一些小问题
Jul 03 PHP
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
May 02 PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
PHP获取客户端及服务器端IP的封装类
Jul 21 PHP
PHP自定义多进制的方法
Nov 03 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 PHP
PHP面向对象法则
Feb 23 #PHP
优化PHP程序的方法小结
Feb 23 #PHP
数据库中排序的对比及使用条件详解
Feb 23 #PHP
PHP中几个常用的魔术常量
Feb 23 #PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 #PHP
php tp验证表单与自动填充函数代码
Feb 22 #PHP
PHP 设计模式之观察者模式介绍
Feb 22 #PHP
You might like
PHP中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
php编写一个简单的路由类
2011/04/13 PHP
php array_map()数组函数使用说明
2011/07/12 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
php实现递归的三种基本方式
2020/07/04 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
对于this和$(this)的个人理解
2013/09/08 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
python写入文件自动换行问题的方法
2019/07/05 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
pytorch数据预处理错误的解决
2020/02/20 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
如何掌握自荐信格式呢
2013/11/19 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
优秀教师工作感言
2014/02/16 职场文书
干部下基层实施方案
2014/03/14 职场文书
市场营销计划书范文
2015/01/16 职场文书
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
python神经网络Xception模型
2022/05/06 Python