zoukankan      html  css  js  c++  java
  • 解决CI框架的Disallowed Key Characters错误提示

    用CI框架时,有时候会遇到这么一个问题,打开网页,只显示 Disallowed Key Characters 错误提示。有人说 url 里有非法字符。但是确定 url 是纯英文的,问题还是出来了。但清空浏览器历史记录和cookies后。 刷新就没问题了。有时候。打开不同的浏览器。有的浏览器会有问题。有的就不会。

    解决 CodeIgniter 框架应用中,出现Disallowed Key Characters错误提示的方法。找到core文件夹下的Input文件,将下面的代码:

    01 function _clean_input_keys($str)
    02 {
    03     if ( ! preg_match("/^[a-z0-9:_/-]+$/i", $str))
    04     {
    05         exit('Disallowed Key Characters.');
    06     }
    07     // Clean UTF-8 if supported
    08     if (UTF8_ENABLED === TRUE)
    09     {
    10         $str = $this->uni->clean_string($str);
    11     }
    12     return $str;
    13 }

    改成这样:

    01 function _clean_input_keys($str)  
    02 {  
    03     $config = &get_config('config');  
    04     if ( ! preg_match("/^[".$config['permitted_uri_chars']."]+$/i", rawurlencode($str)))  
    05     {  
    06         exit('Disallowed Key Characters.');  
    07     }  
    08    
    09     // Clean UTF-8 if supported
    10     if (UTF8_ENABLED === TRUE)
    11     {
    12         $str = $this->uni->clean_string($str);
    13     }
    14     return $str;  
    15

    或者改成:

    01 function _clean_input_keys($str)
    02 {
    03     if(preg_match("/^,_[a-z0-9:_/-]+$/",$str)){
    04         $str = preg_replace("/,_/","",$str);
    05     }
    06             
    07     if ( ! preg_match("/^[a-z0-9:_/-]+$/i", $str))
    08     {
    09         exit('Disallowed Key Characters.'.$str);
    10     }
    11     return $str;
    12 }

    大概就这样~留个记录。

  • 相关阅读:
    【JAVA】空指针异常
    【JAVA】分隔字符串的小技巧
    【JAVA】imageio异常:不支持图像类型
    权限设计“终极”解决方案
    一直困扰我的.net 2.0和,net 1.1同时运行的问题解决了
    乱谈成本三
    SandBar学习笔记
    不是吧!怎么这样
    学习Java的相关知识
    代码自动生成工具的补充
  • 原文地址:https://www.cnblogs.com/xiaoyang002/p/4020147.html
Copyright © 2011-2022 走看看