【codeigniter PHP json】codeigniter 不接受 URL GET 傳值 特殊字元 『 The URI you submitted has disallowed characters. 』

最近做了一個新的頁面,需要記錄使用者端 javascript 傳回給 php 的 json 資料
本來是想要使用 uri 傳值,不過卻踩到預設的安全性
URL 不允許帶特殊字元,在這邊記錄一下怎麼解決

問題

Controller部分很簡單,就是直接接值而已

public function testa($var_a){
  ..do something
}
但是當我用 uri 傳值進去的時候,只要有帶特殊字元
就會出現
  The URI you submitted has disallowed characters.
的錯誤訊息

解決

修正 application/config/config.php 中的 $config['permitted_uri_chars'] 就行了
這個設定是拒絕不存在允許清單內的char用的

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
是說因為安全性的考量沒用這招就是了 :p

留言