默认情况下,CodeIgniter阻止%27(')出现在URL中。作为结果,我已经注释掉了整个$ config ['allowed_uri_chars']指令。但是,当我现在正在将URL的一部分解析为包含%27或任何其他URL编码部分的方法参数时,CodeIgniter会将其转换为plain?,然后我才能在其上运行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的存在正在进行替换。
答案 0 :(得分:0)
问题不在于CodeIgniter。它是suhosin。