产品框架

用户输入的处理

用户输入数据的处理

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()处理过,兼容插件;