zhaobin693 发表于 2011-9-23 16:19:11

还是Disallowed Key Characters.问题

我的链接字符串是
location.href="http://192.168.0.110/index.php/winuser/delusers/?chkvalue="+chkvalue;
其中变量chkvalue的值是1|2|3|4|5|6
转到此地址后报错:Disallowed Key Characters.
我所用到的CI是2.0.3,在此之前我已根据手册启用查询字符串
$config['enable_query_strings'] = TRUE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';

我已按照论坛里所有类似情况的解决方案调试过,均无效,据我所知,好多好多人也存在这种问题,至今也无法解决!

justlove 发表于 2011-9-23 16:20:14

我也是这种问题····上一秒还好好的下一秒就悲剧了,求高手赐教啊

sunxch100 发表于 2011-9-23 19:00:36

可以用js编码
var str = encodeURIComponent($param);
在服务器端用urldecode()解码
如果是ajax的话,那就用post方法

zhaobin693 发表于 2011-9-24 08:39:16

sunxch100 发表于 2011-9-23 19:00 static/image/common/back.gif
可以用js编码
var str = encodeURIComponent($param);
在服务器端用urldecode()解码


我在控制器某方法里接收如何条用JS函数对其进行解码?

yuzhigang5460 发表于 2011-9-24 18:02:35

zhaobin693 发表于 2011-9-24 08:39 static/image/common/back.gif
我在控制器某方法里接收如何条用JS函数对其进行解码?

不是说了吗,用urldecode();

yuzhigang5460 发表于 2011-9-24 18:14:14

zhaobin693 发表于 2011-9-24 08:39 static/image/common/back.gif
我在控制器某方法里接收如何条用JS函数对其进行解码?

是不是chkvalue中的竖线不能通过输入检查,在Input.php下:
function _clean_input_keys($str)
        {
                if ( ! preg_match("/^+$/i", $str))
                {
                        exit('Disallowed Key Characters.');
                }

                // Clean UTF-8 if supported
                if (UTF8_ENABLED === TRUE)
                {
                        $str = $this->uni->clean_string($str);
                }

                return $str;
        }
如果可以的话,可以使用下划线_试下看看能不能通过,或者如上面所说,编码一次。

sunxch100 发表于 2011-11-2 15:52:04

zhaobin693 发表于 2011-9-24 08:39 static/image/common/back.gif
我在控制器某方法里接收如何条用JS函数对其进行解码?

解码用urldecode(),php的函数
页: [1]
查看完整版本: 还是Disallowed Key Characters.问题