中国万网-域名注册和虚拟主机服务提供商
客服中心  续费服务  代理专区  支付方式  关于万网  English
首 页
域名注册
虚拟主机
专享主机
独享主机
企业邮箱
网站制作
网站推广
固顶文章商务•安全邮升级…2008-08-20
固顶文章禁止非法转播奥运赛事…2008-08-11
普通文章中国万网"08.08奥运"放…2008-08-07
固顶文章关于加强网络信息安全…2008-07-31
固顶文章万网会员系统安全升级…2008-07-25
推荐文章08年北京总部7月培训课…2008-07-18
普通文章商务•安全邮―带…2008-07-10
普通文章万网全国独家推出.me域…2008-07-03
固顶文章加强ICP备案和互联网电…2008-07-02
普通文章7月6日电话系统维护暂…2008-07-01
普通文章7月6日域名注册机构维…2008-06-30
普通文章闲置域名公益解析 网上…2008-06-18
普通文章企业邮箱转来优惠活动…2008-06-16
普通文章6月16日速成网站维护通…2008-06-13
普通文章关于6月15日将暂停CN注…2008-06-10
普通文章中国万网系统维护通知…2008-06-03
普通文章万网2008积分活动开始…2008-05-27
普通文章《自律公约》加入、退…2008-05-27
普通文章5月30日域名注册机构维…2008-05-27
普通文章万网成立宁波互联网解…2008-05-19


PHP安全调整通知

作者:客服中心    文章来源:中国万网    点击数:    更新时间:2006-5-12

 

 

尊敬的万网虚拟主机用户:您好!

        为了提高UNIX主机的安全性,保证用户的网站和数据安全,万网将在2006年6月初对全部UNIX主机的PHP进行安全策略调整,届时将关闭全局变量(Register Globals),请您尽快对相关程序进行修改,避免出现无法网站无法正常访问的情况,特此通知!

        以下是PHP官方手册中有关于《使用  Register  Globals》的说明,请您参考:
PHP 中最具争议的变化就是从 PHP4.2.0版开始配置文件中  register_globals  的默认值从 on 改为 off 了。对此选项的依赖是如此普遍以至于很多人根本不知道它的存在而以为 PHP本来就是这么工作的。  

    当register_globals 打开以后,各种变量都被注入代码,例如来自HTML表单的请求变量。再加上PHP在使用变量之前是无需进行初始化的,这就使得更容易写出不安全的代码。这是个很艰难的抉择,但 PHP 社区还是决定默认关闭此选项。当打开时,人们使用变量时确实不知道变量是哪里来的,只能想当然。但是  register_globals  的关闭改变了这种代码内部变量和客户端发送的变量混杂在一起的糟糕情况。
 
下面使用  register_globals  =  on  的例子
<?php
//  当用户合法的时候,赋值  $authorized  =  true
if  (authenticated_user())  {
     $authorized  =  true;
}
 
//  由于并没有事先把  $authorized  初始化为  false,
//  当  register_globals  打开时,可能通过GET  auth.php?authorized=1  来定义该变量值
//  所以任何人都可以绕过身份验证
if  ($authorized)  {
     include  "/highly/sensitive/data.php";
}
? >    
 
当 register_globals = on 的时候,上面的代码就会有危险了。如果是 off,$authorized  就不能通过如URL请求等方式来改变,这样就好多了,尽管初始化变量是一个良好的编程习惯。比如说,如果在上面的代码执行之前加入 $authorized  =  false  的话,无论  register_globals  是  on  还是  off  都可以,因为用户状态被初始化为未经认证。
 
解决方案如下:
可以在需要的程序的顶部引用下面程序,达到实现了跟开启 Register Globals 同样的功能。代码请参考(以下代码需要结合您的程序进行修改,直接无法调用):
 
<?php
function register_globals($item, $key) {
    global $$key;
    $$key = $item;
}
 
arrayfoo($_GET , 'register_globals');
arrayfoo($_POST , 'register_globals');
arrayfoo($_COOKIE , 'register_globals');
arrayfoo($_SERVER , 'register_globals');
 
...
session_start();
arrayfoo($_SESSION , 'register_globals');
...
?>
 
其中 arrayfoo($_SESSION , ‘register_globals’); 要放在 session_start(); 之后才管用。
 
     我们为给您带来的任何不便致以深深的歉意。也希望您能在今后的合作中给我们提出更好的建议,愿我们不断提高的服务品质能换取您更长久的信任与支持!
 
                                                                                      中国万网客服中心
                                                                                         2006.5.12

返回上一页
返回首页 | 关于我们 | 联系我们 | 广告服务 | 支付方式 | 万网招聘 | 友情链接 | 公司位置 | 网站地图
北京总部 400-600-8500   上海(华东) 021-51083911  广州(华南) 020-38795151
深   圳 0755-82230308  武汉(华中) 027-68850386  成都(西南) 028-85222648
杭州(浙江) 0571-87242577  南京(江苏) 025-83308258  青岛(山东) 0532-81977398
西安(西北) 029-88327766   大连(东北) 0411-82566199 厦   门 0592-5830588
无   锡 0510-82704441
总部地址:北京市海淀区中关村东路1号院清华科技园科技大厦A座5层501号/502号(100084)
营业地址:北京市东城区鼓楼外大街27号万网大厦3层(100011)
办事机构:北京 上海 广州 深圳 武汉 成都 杭州 南京 青岛 西安 大连 厦门 无锡

7×24小时全国统一服务热线:400-600-8500
增值电信业务经营许可证B1.B2-20050234号
电信与信息服务业务经营许可证050062号
电信业务审批[2005]字第194号 京ICP证050062号 中国万网正式通过ISO9001国际标准质量体系认证
中国万网旗下网站:中国万网 买麦网 
Copyright © 2007 中国万网 版权所有