导致不允许的键字符错误的原因是什么?

时间:2011-06-08 17:30:00

标签: php codeigniter

有没有办法找到我的代码的哪一部分导致Codeigniter中出现Disallowed Key Characters错误?

2 个答案:

答案 0 :(得分:1)

您尝试通过Form_validation库运行可能是“错误”的输入name。这是我遇到此问题的唯一一次,但也可以成为$_GET密钥。

如果没有您的详细信息,很难说 - 但是有一个好地方可以检查。

答案 1 :(得分:0)

韦斯利,

我不知道这是不是你的答案,但我想我会捐款,以防有人也和我一样犯错误。

我认为当我在url字符串中有一个禁用字符时,我遇到了这个错误。原来我的控制器类名中有一个下划线字符。

我相信codeigniter的配置文件中有一个设置,您可以在URL字符串中指定允许的字符。

我正在工作,无法访问Code Igniter文件的副本,但当我搜索CI网站时,我确实发现了这一点:

CodeIgniter Changelog

在版本1.4.0的更改日志备注中,他们提到他们将“allowed.php”文件中的“允许字符”设置移动到“config.php”文件中。实际线说:

  

移动了“允许的URI”列表   字符“在Router类之外   并进入配置文件。

我相信“允许的URI charcters”列表是一个数组,它指定在URL / URI的命名约定中可以使用哪些字符。您可能需要检查config.php文件并查看当前允许的字符,并查看您是否在URI中使用了任何不允许的字符,因为这也可能触发您的错误。

祝你好运!

编辑:在版本1.7.1的更改日志中,他们提到了这一点:

  

“HTTP / 1.1 400 Bad Request”标头是   现在发送时不允许的字符   遇到了。