用户輸入數據的處理
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() 處理過,兼容插件;