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

phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块.WEB 环境等信息. 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec(). 危险等级:高 exec() 功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等). 危险等级:高 system() 功能描述:允许执行一个外部程序并回显输出,类似于 passthru(). 危险等级:高 chroot() 功能描述:可改变当前 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_dump…
eval() 函数可将字符串转换为代码执行,并返回一个或多个值. 如果eval函数在执行时遇到错误,则抛出异常给调用者. 类似的函数是loadcode ,loadcode并不立即执行代码,而是返回一个函数对象. 并且loadcode支持路径参数,eval并不支持. eval并不支持代码中的return语句,而是将代码作为表达式直接计算出结果. 禁用 eval函数 PHP.ini 中有disable_functions选项, disable_functions = phpinfo,eval 使用已…
ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担 ob的基本原则:如果ob缓存打开,则echo的数据首先放在ob缓存.如果是header信息,直接放在程序缓存.当页面执行到最后,会把ob缓存的数据放到程序缓存,然后依次返回给浏览器. 下面我说说ob的基本作用:  1)防止在浏览器有输出之后再使用setcookie().header()或session_start()等发…
代码执行的危险函数 eval() 把字符串作为php代码执行 早期php一句话木马都用这个 <?php @eval($_POST['shell']);?> assert() 检查一个断言是否为false,将字符串作为php代码执行 同样经常被用作一句话木马 <?php assert(@$_POST['shell']); ?> preg_replace() 执行正则表达式的搜索和替换 当匹配模式/e时,该函数会将$replacement作为php代码执行 preg_replace(&…
<?php 来表示 PHP 标识符的起始,然后放入 PHP 语句并通过加上一个终止标识符 ?> 来退出 PHP 模式 调用函数phpinfo(),将会看到很多自己系统的信息,以及预定义变量.已经加载的 PHP 模块和配置信息. <?php phpinfo(); ?> 在 PHP 中,变量以一个美元符开头. $_SERVER 是一个特殊的 PHP 保留变量,包含了 web 服务器提供的所有信息,被称为超全局变量. 检查浏览页面的访问者在用什么浏览器,需要检查用户的 agent 字符串…
今天看书看到其中提到的一个漏洞,那就是Nginx+PHP的服务器中,如果PHP的配置里 cgi.fix_pathinfo=1 那么就会产生一个漏洞.这个配置默认是1的,设为0会导致很多MVC框架(如Thinkphp)都无法运行.这个漏洞就是比如 localhost/img/1.jpg 是正常地访问一张图片,而 localhost/img/1.jpg/1.php 却会把这张图片作为PHP文件来执行!如下图,应该是404 NotFound 才对的,它却显示说是有语法错误. 好家伙,既然有漏洞那就尝试…
使用无限生命期Session的方法 [来源] 达内    [编辑] 达内   [时间]2013-03-28 Session储存在服务器端,根据客户端提供的SessionID来得到这个用户的文件,然后读取文件,取得变量的值,SessionID可以使用客户端的Cookie或者Http1.1协议的Query_String(就是访问的URL的“?”后面的部分)来传送给服务器,然后服务器读取Session的目录…… 使用无限生命期Session的方法 本文不敢说非常好,但是笔者相信大多数PHPer都曾经想…
  Apache的rewrite机制: 意思就是,你发送的地址,比如:http://localhost/news-id67.html会被Apache改写成http://localhost/news.php?id=67; Apache本身内置了一个模块:(httpd.conf) #LoadModule rewrite_module modules/mod_rewrite.so ---- 去掉注释,开启Apache内置的重写模块开启模块过后,这个模块把news-id67.html重写为news.ph…
一个已知管用的方法是,使用session_set_save_handler,接管所有的session管理工作,一般是把session信息存储到数 据库,这样可以通过SQL语句来删除所有过期的session,精确地控制session的有效期.这也是基于PHP的大型网站常用的方法.但是,一般的 小型网站,似乎没有必要这么劳师动众. 但是一般的Session的生命期有限,如果用户关闭了浏览器,就不能保存Session的变量了!那么怎么样可以实现Session的永久生命期呢? 大 家知道,Session…