CodeIgniter Disallowed Key Characters.

 CodeIgniter 是什么?

  • 你想要一个小巧的框架。
  • 你需要出色的性能。
  • 你需要广泛兼容标准主机上的各种 PHP 版本和配置。
  • 你想要一个几乎只需 0 配置的框架。
  • 你想要一个不需使用命令行的框架。
  • 你想要一个不需坚守限制性编码规则的框架。
  • 你对 PEAR 这种大规模集成类库不感兴趣。
  • 你不希望被迫学习一门模板语言(虽然可以选择你喜欢的模板解析器)。
  • 你不喜欢复杂,热爱简单。
  • 你需要清晰、完善的文档。

CodeIgniter@飞鱼 @给 @余果 又@给我的

 

(庙) miao.in 是基于 CodeIgniter 开发

改造大概花了个把小时,因为(庙)实在是太简单的网站

 

Disallowed Key Characters.

突然有一天出现了 Disallowed Key Characters. 这个错误,满 Google 都在说,你的 cookie 出现了非法字符

干,老子还没用到 Cookie 呢

打开Chrome调试器发现有个 Cookie 的

Key: 1345466626|7601294|43373|0|0|0

然后用 Intellij IDEA 搜了一下 “Disallowed Key Characters”

system/core/Input.php line 603

写着

if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str)) { exit('Disallowed Key Characters.'); }

日哦,身为正则小王子的大猫一看眼泪都流下来

改成了

PS,这”|”不可写到”-“后面,懂的自然懂,不懂照着改

 

那么这个带”|”的 Cookie 哪里来的呢?

电·信·弹·窗·广·告,我·干·里·良!

此 BUG 已经提交官方修复

github 上提交了,原作者脚的有道理,就合并修复了,新版本应该没啥问题

发布者:bigCat

在XX季节不会乱飚尿,不会对同性及异性无情殴打,不会撕咬哭喊强烈要求夜间出门寻欢,无视异性哀号勾引,温柔敦厚寡言少语质保刚建文武两道的和谐社会型青壮年家养公猫

加入对话

20条评论

  1. 今天也遇到了这个问题……在 config 里开启了 CSRF 。

    然后在 form 里手动插入 CSRF 的 input ,一提交就遇到这个错误提示了。后来将 form 标签改为 form_open() 就解决了,后者会自动插入可用的 CSRF 的 Input 。

    P.S. 页面导读 #fn_article_nav 一直插入到了评论框,不太美观……

留下评论

电子邮件地址不会被公开。