今天将两个网站(www.drmeng.net和www.hncltx.net)转移服务器,登陆后台时出现一条错误信息(PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini
dede中给出了解决的方法,在phpinfo中查看对应的php.ini配置目录,找到下面选项:
request_order = "GP"
更改为
request_order = "CGP"
重启服务器 问题解决;
关于 request_order 这个配置选项,是php的5.3.x版本中新增加的。
关于他的不安全性可以从以下看出:
$_REQUEST这个超全局变量的值受php.ini中request_order的影响,在最新的php5.3.x系列中,request_order默认值为GP,也就是说默认配置下$_REQUEST只包含$_GET和$_POST而不包括$_COOKIE。通过 COOKIE就可以提交GLOBALS变量。
从而绕过了大多开源程序中的全局变量防御。因此要将次选项更改为 request_order = "CGP"。