使用者輸入資料的處理

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() 處理過,相容外掛;