2011-05-26 27 views
0

Possible Duplicate:
CodeIgniter Disallowed Key Characters笨不允許的主要人物形象 - 當所有字符都允許

我最近升級CI爲1.7〜2.0。之後我開始接收CI的

Disallowed Key Characters

錯誤。

然後我允許接受所有的字符,看看錯誤是否會消失。

$config['permitted_uri_chars'] = ''; 

然而,這並沒有改變什麼

我也已經啓用查詢字符串

$config['enable_query_strings'] = TRUE; 

我只是不知道爲什麼我收到當我讓所有的不允許的字符錯誤字符被接受。

下面是一個URL例子在那裏我會得到不允許的關鍵字符錯誤:「?」

http://localhost/myapp/index.php??c=user&m=login 

但是,如果我是刪除的一個它的工作原理

http://localhost/myapp/index.php?c=user&m=login 

我有一個包含htaccess文件:

RewriteEngine on 
RewriteRule (.*)/index.php $1/ [L] 

任何幫助嗎?

回答

1

由於代碼中的註釋說明,你在做什麼是hihgly氣餒

| As a security measure you are STRONGLY encouraged to restrict URLs to 
| as few characters as possible. By default only these are allowed: a-z 0-9~%.:_- 
| 
| Leave blank to allow all characters -- but only if you are insane. 
| 
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! 

儘管如此,一個不可能性的解決方案是明確緩存,特別是,你餅乾,如你可以看到,例如,在CI論壇this主題(在較小的程度上,你只是搜索到其他資源)

編輯:張貼後,我看到你編輯你的問題,並添加重要的細節。正如其他用戶所建議的那樣,您需要檢查輸入類來破解codeigniter如何實現自己的POST和GET處理。

特別是,我期待在庫/ input.php的function _clean_input_keys($str),並改變正則表達式有

+0

允許所有字符只是暫時的,因爲我找出爲什麼我仍在收到這個錯誤。當我使用CI 1.7時,我已經允許默認字符以及「?」例如:'a-z 0-9〜%。:_-?' 並沒有收到不允許的關鍵字符消息 – koeder 2011-05-26 05:56:27

+0

謝謝@Damien Pirsy爲您提供幫助。我會研究它。我想我可能不得不編輯它。我遇到的真正問題是與Facebook及其回叫網址打交道。 – koeder 2011-05-26 06:02:54