墨裔 发表于 2016-11-16 23:08:40

用户输入数据的处理

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()处理过,兼容插件;
页: [1]
查看完整版本: 用户输入数据的处理