2014-03-12 85 views
1

我試圖在我的Codeigniter URL中允許&。目前我遇到了一個Disallowed Key Characters.錯誤。在CodeIgniter URI中允許&

我試着擴展Input.php文件以允許_clean_input_keys()函數中的& - 但現在已經太遲了,因爲只有amp;進入提供的字符串。

有誰知道我該怎麼做?我可能會通過這樣做暴露我的應用程序是否有任何安全漏洞?

+0

您是否在config.php中添加了&allowed_uri_chars? –

+0

是的,我嘗試添加'&'和';'。 – mcryan

+0

@mcryan你是否能夠解決這個問題,我也面臨類似的問題 –

回答

1

儘管我對這個答案並不特別滿意,並且歡迎採取更好的方法,但我不得不緊急進行這項工作,所以我想出了這個問題。

我伸出Input.php以及它遍歷$_GET參數,權之前調用:$_GET[$this->_clean_input_keys($key)] = $this->_clean_input_data($val);我加了這一點:

if (strpos($key, 'amp;') !== false) { 
    $key = str_replace('amp;', '', $key); 
} 

&已經從在這一點的關鍵去除,所以我只是刪除amp;前嘗試清理數據。

+0

@mycryan我通過設置$ config ['uri_protocol'] ='PATH_INFO'來解決這個問題;在config/config.php文件中。默認值設置爲「AUTO」 –