php禁用一些危险函数
来源:互联网 发布:qq三国js技能介绍 编辑:程序博客网 时间:2024/04/30 17:38
passthru()
功能描述:允许执行一个外部程序并回显输出,类似于 exec()。
危险等级:高
exec()
功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。
危险等级:高
assert()
功能描述:如果按照默认值来,在程序的运行过程中调用assert()来进行判断表达式,遇到false时程序也是会继续执行的,跟eval()类似,不过eval($code_str)只是执行符合php编码规范的$code_str。assert的用法却更详细一点。
危险等级:高
system()
功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。
危险等级:高
chroot()
功能描述:可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式PHP 时才能工作,且该函数不适用于 Windows 系统。
危险等级:高
chgrp()
功能描述:改变文件或目录所属的用户组。
危险等级:高
chown()
功能描述:改变文件或目录的所有者。
危险等级:高
shell_exec()
功能描述:通过 Shell 执行命令,并将执行结果作为字符串返回。
危险等级:高
proc_open()
功能描述:执行一个命令并打开文件指针用于读取以及写入。
危险等级:高
ini_restore()
功能描述:可用于恢复 PHP 环境配置参数到其初始值。
危险等级:高
dl()
功能描述:在 PHP 进行运行过程当中(而非启动时)加载一个 PHP 外部模块。
危险等级:高
readlink()
功能描述:返回符号连接指向的目标文件内容。
危险等级:中
symlink()
功能描述:在 UNIX 系统中建立一个符号链接。
危险等级:高
popen()
功能描述:可通过 popen() 的参数传递一条命令,并对 popen() 所打开的文件进行执行。
危险等级:高
stream_socket_server()
功能描述:建立一个 Internet 或 UNIX 服务器连接。
危险等级:中
pfsockopen()
功能描述:建立一个 Internet 或 UNIX 域的 socket 持久连接。
危险等级:高
putenv()
功能描述:用于在 PHP 运行时改变系统字符集环境。在低于 5.2.6 版本的 PHP 中,可利用该函数修改系统字符集环境后,利用 sendmail 指令发送特殊参数执行系统 SHELL 命令。
危险等级:高
修改方法:
打开/etc/php.ini文件,
查找到 disable_functions ,修改为:disable_functions=passthru,exec,assert,system,chroot,chgrp,chown,shell_exec,proc_open,ini_restore,dl,readlink,symlink,popen,stream_socket_server,pfsockopen,putenv
哦,eval禁用不了,需要借助:php Suhosin。
禁用的方法可以根据自己的环境来酌情添加,其实curl_exec(),fopen(),file_get_contents()等都是很危险的,还有一些目录浏览的方法,但是实际项目中要用到,所以不能禁用了。
nginx的话,可以限制一些静态文件路径不能执行php,如下(目录改成自己的静态文件目录):
- location ~ /(style|html|cache|config|js|css|image|log|images|uploads|upload|attachments|templets)/.*\.(php|php5)?$ {
- deny all;
- }
这样安全性也会更好一些,然后后续会多补充一些,工作也忙。
更多:http://www.webyang.net/Html/web/article_125.html
- php禁用一些危险函数
- 一些需要禁用的PHP危险函数
- 一些需要禁用的PHP危险函数(disable_functions)
- 一些需要禁用的PHP危险函数(disable_functions)
- 爱游思 » 一些需要禁用的PHP危险函数
- php安全设置:禁用危险函数
- 有些需要禁用的PHP危险函数(disable_functions)
- 一些高危php函数的禁用
- php禁用不安全函数
- PHP禁用函数
- PHP中的危险函数全解析
- php 过滤危险html函数 代码
- php 过滤危险html函数 代码
- PHP代码审计-常见危险函数
- 禁用php函数的设置
- 禁用php函数的设置
- PHP 函数禁用设置方法
- php如何禁用eval函数
- Ubuntu中同时打开多个终端窗口:Terminator
- mysql在linux上的安装之二(mysql源码安装)
- Huffman Coding: the golang version of SelectTwoMinimumValue
- storm的学习与使用(一)
- 下阶段工作计划安排
- php禁用一些危险函数
- hdu 5074
- 黄鱼车
- hdu 5073 Galaxy
- 最短路径算法
- HP大中华区总裁孙振耀退休感言
- Huffman Algorithm (ii) 计算字符权重
- Java类加载器总结
- 使用Jlink对FL2440开发板进行烧录