php5.4.0的register globals设置
发布:smiling 来源: PHP粉丝网 添加日期:2014-02-25 17:44:52 浏览: 评论:0
在php中register globals函数在php5.3.0开始移除在5.4.0开始废弃了,但还是有很多的网站都有这个函数,下面我来介绍一些解决办法.
php4.2.0的版本是没有用过,php官网提到:php最具争议的变化是php4.2.0版本配置中register_globals的On改为了Off,对此项依赖的是如此普遍以至于很多人不知道他的存在而以为php本来就是这么工作的,下面解释这个指令如何写出不安全的代码,但是要知道这个指令没有什么不安全的地方,只有不安全的代码.
当register_globals打开以后,很多代码都可以被注入比如html表单提交的内容,再加上php在使用变量的时候无需初始化,这就使得更容易出现不安全的代码.比如我将php.ini中register_globals设置为On开始状态:
实例代码如下:
- <?php
- // 当用户合法的时候,赋值 $flag = true
- if (is_user()) {
- $flag= true;
- }
- // 由于并没有事先把 $flag初始化为 false,
- // 当 register_globals 打开时,可能通过GET user.php?flag=1 来定义该变量值
- // 所以任何人都可以绕过身份验证
- if ($flag) {
- include "/highly/sensitive/data.php";
- }
- ?>
以上代码在register_globals = On的时候,由于$flag没有初始化,在后面判断的时候通过get方式的flag = 1也可以执行include.
Tags: php5 4 0 register globals
相关文章
- ·ubuntu下安装php5+pdo(2013-11-13)
- ·在centos上安装php5.5+MySQL 5.5.32(2013-11-13)
- ·Linux下安装MySql+Apache2+PHP5.3.1教程(2013-11-28)
- ·为PHP5加入动态Flash文件的生成的支持(2013-12-10)
- ·PHP5中SESSION路径配置详解(2014-03-24)
- ·php5.3安装libmemcached 扩展方法与简单实例(2014-08-25)
- ·PHP5.4.X与Memcache不兼容问题解决方案(2014-08-26)
- ·php5.3安装libmemcached扩展的教程(2015-04-14)
- ·PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享(2019-07-28)
- ·在CentOS上php5.6怎么安装?(2020-04-28)
- ·mac环境中使用brew安装php5.5.15(2021-04-02)
- ·windows下配置php5.5开发环境及开发扩展(2021-05-04)
- ·CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录(2021-05-18)
- ·Ubuntu12下编译安装PHP5.3开发环境(2021-05-18)
- ·PHP5.3以上版本安装ZendOptimizer扩展(2021-05-18)
- ·Centos下升级php5.2到php5.4全记录(编译安装)(2021-05-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)