使用者輸入資料的處理
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() 處理過,相容外掛;