用ci框架时,有时候会遇到这么一个问题,打开网页,只显示 disallowed key characters 错误提示。有人说 url 里有非法字符。但是确定 url 是纯英文的,问题还是出来了。但清空浏览器历史记录和cookies后。 刷新就没问题了。有时候。打开不同的浏览器。有的浏览器会有问题。有的就不会。
解决 CodeIgniter 框架应用中,出现Disallowed Key Characters错误提示的方法。找到/system/core文件夹下的Input文件,将下面的代码:
<span function</span> _clean_input_keys(<span $str</span><span )
{
</span><span if</span> ( ! <span preg_match</span>("/^[a-z0-9:_\/-]+$/i", <span $str</span><span ))
{
</span><span exit</span>('Disallowed Key Characters.'<span );
}
</span><span //</span><span Clean UTF-8 if supported</span>
<span if</span> (UTF8_ENABLED === <span TRUE</span><span )
{
</span><span $str</span> = <span $this</span>->uni->clean_string(<span $str</span><span );
}
</span><span return</span> <span $str</span><span ;
}</span>改为:
<span function</span> _clean_input_keys(<span $str</span><span )
{
</span><span $config</span> = &get_config('config'<span );
</span><span if</span> ( ! <span preg_match</span>("/^[".<span $config</span>['permitted_uri_chars']."]+$/i", <span rawurlencode</span>(<span $str</span><span )))
{
</span><span exit</span>('Disallowed Key Characters.'<span );
}
</span><span //</span><span Clean UTF-8 if supported</span>
<span if</span> (UTF8_ENABLED === <span TRUE</span><span )
{
</span><span $str</span> = <span $this</span>->uni->clean_string(<span $str</span><span );
}
</span><span return</span> <span $str</span><span ;
} </span>参考:http://www.nowamagic.net/librarys/veda/detail/1699
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号