2011-05-26 71 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