用户输入数据的处理
Discus!
X2.5 之前版本对 $_GET 和 $_POST 的值默认是进行 addslashes 处理,函数在使用此值时信任外部数据的安全性,但这样处理的弊端是容易生
产二次注射的漏洞,为了防止此类漏洞的产生,函数必须不信任任何数据外部数据的安全性,为此我们做了以下的处理增强系统安全:
- $_GET 和 $_POST 的值默认不做 addslashes 处理
- $_GET 为 $_GET 和 $_POST 数组的合并,代码中统一使用 $_GET 取值
- $_G['gp_xx'] 的写法默认不再支持,config.php 中有兼容开关
$_config['input']['compatible'] = 1;// $_GET|$_POST 的兼容处理,0 为关闭,
1 为开启;开启后即可使用 $_G['gp_xx'](xx 为变量名,$_GET 和 $_POST 集合的所有变量 名),值为已经 addslashes() 处理过,兼容插件;