【发布时间】:2013-08-26 05:28:59
【问题描述】:
默认情况下,CodeIgniter 会阻止 %27 (') 出现在 URL 中。结果,我注释掉了整个 $config['permitted_uri_chars'] 指令。但是,当我现在将 URL 的一部分解析为包含 %27 或任何其他 URL 编码部分的方法参数时,CodeIgniter 将其转换为纯 ?,然后我什至可以在其上运行 rawurledcode()。我怎样才能阻止它这样做?我们正在使用 CI v1.7.x。
这里有一些简单的代码来展示它:
在“程序”控制器中:
function test($parameter)
{
echo $parameter;
}
然后我们加载http://example.com/program/test/o%27clock,我们得到:
o?clock
我希望 o'clock 或至少 o%27clock 可以使用 rawurldecode() 来获得 o'clock。
更新:不幸的是,我错了。它不是由 CodeIgniter 引起的。相反,suhosin 的存在进行了替代。
【问题讨论】:
-
请查看here
-
我已经做了无济于事。
-
您已经评论了 $config['permitted_uri_chars'] 取消注释并添加 (') 字符会帮助我猜。
-
您好@SOnali 是对的,您可以检查您的配置文件并输入:- $config['permitted_uri_chars'] = '?&=a-z 0-9~%.:_\-';
标签: php codeigniter urlencode urldecode