PHP安全函数phpinfo()

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

时间: 2024-10-05 06:11:56

PHP安全函数phpinfo()的相关文章

php基础-常量-变量相关的基础函数

注释语句 //单行 # 单行 /* 多行注释 */ /** * 文档注释 * */ 常量定义 自定义常量 常量名区分大小写 系统的魔术常量不区分大小写 __DIR__  __dir__ 变量定义 变量名是区分大小写 变量名声明时用$符号开头, 而且要符合变量名的命名规则 $i; var_dump($i); $i = 'ok'; var_dump($i); $i = "Hello"; var_dump($i); $i = 20; var_dump($i); $i = 20.5; var_

PHP易混淆函数的区分

常量定义自定义常量 常量名区分大小写系统的魔术常量不区分大小写 __DIR__ __dir__ 变量定义变量名是区分大小写变量名声明时用$符号开头, 而且要符合变量名的命名规则 $i;var_dump($i);$i = 'ok';var_dump($i); $i = "Hello";var_dump($i); $i = 20;var_dump($i); $i = 20.5;var_dump($i);//变量类型 和javascript 变量类型相似,是变体类型$i = true;var

PHP下的session的生存周期

首先说一下session的创建的开始到结束的过程. 当程序需要为某个客户端的请求创建一个 session 的时候,服务器首先会检查这个客户端是否已经包含了一个 session 标识,这个我们称为 session id(获取方法为 session_id() ),如果已包含一个 session id 则说明此客户端之前已经创建过 session,服务器则按照 session id 把这个 session 中的值检索出来,如果客户端不包含 session id,说明此客户端第一次请求服务器或手动清除过

2016/07/05 zend optimizer

Zend Optimizer是由PHP核心引擎“Zend” http://www.zend.com 创建者Zend技术公司所开的免费PHP优化软件.据Zend公司透露使用这个软件某些情况下至少可以提高性能30%以上!现在我们来看看如何配置这套软件. Zend Optimizer的安装很简单 1.运行安装文件,首先提示你选择安装目录,选择一个你喜欢的目录,单击“Next”. 2.安装向导会要求你选择当前使用的WEB服务器(Apache.IIS或其它),选择好服务器后单击“Next” 3.安装向导提

《Nginx文件类型错误解析漏洞--攻击演练》 (转)

今天看书看到其中提到的一个漏洞,那就是Nginx+PHP的服务器中,如果PHP的配置里 cgi.fix_pathinfo=1 那么就会产生一个漏洞.这个配置默认是1的,设为0会导致很多MVC框架(如Thinkphp)都无法运行.这个漏洞就是比如 localhost/img/1.jpg 是正常地访问一张图片,而 localhost/img/1.jpg/1.php 却会把这张图片作为PHP文件来执行!如下图,应该是404 NotFound 才对的,它却显示说是有语法错误. 好家伙,既然有漏洞那就尝试

www服务器假设linux+apache+mariadb+php

这两天被这搭建www服务器折磨惨了,尤其是数据库这一块,只能怪大一的时候认真上数据库的课. 我用到的是CentOS 7系统搭建服务器的,阿里云学生特惠9.9每月买的(这不是在打小广告哦!).参考鸟哥的私房菜服务器架设篇,还有好多网上的内容,遇到问题就google.百度查,还有感谢老师和学姐的解答. 这是第一次比较像教程的日志,由于是新手,写下来供下次查阅,望大神勿喷! 首先介绍下LAMP,linux.php自然不必说.apache是免费开源的,是搭建www服务器的必备,类似的有nginx.win

使用无限生命期Session的方法

本文不敢说非常好,但是笔者相信大多数PHPer都曾经想过这些问题. 在PHP4.0中加入了对Session的支持,方便了我们很多程序,比如购物车等等! 在很多论坛中,Session也用于处理用户的登陆,记录下用户名和密码,使得用户不必每次都输入自己的用户名和密码!但是一般的Session的生命期有限,如果用户关闭了浏览器,就不能保存Session的变量了!那么怎么样可以实现Session的永久生命期呢? 大家知道,Session储存在服务器端,根据客户端提供的SessionID来得到这个用户的文

六、nginx搭建织梦DedeCms网站

1.介绍: 织梦内容管理系统(DedeCms) 以简单.实用.开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用本系统. 优点: 1.易用:使用织梦你可以用十分钟学习它,十分钟搭建一个. 2.完善:织梦基本包含了一个常规网站需要的一切功能. 3.丰富的资料

linux中查看nginx、apache、php、mysql配置文件路径的方法

转自:http://www.phper163.com/archives/368 如何在linux中查看nginx.apache.php.mysql配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断1.判断apache首先执行命令找到httpd路径ps aux | grep httpd如httpd路径为 /usr/local/apache/bin/httpd然后执行以下命令/usr/local/apache/bin/http