2013-08-26 112 views
0

默认情况下,CodeIgniter阻止%27(')出现在URL中。我已将整个$ config ['permitted_uri_chars']指令作为结果注释掉了。但是,当我现在将URL的一部分解析为包含%27的方法参数或任何其他URL编码部分时,CodeIgniter会将它转换为纯文本格式,然后我甚至可以在其上运行rawurledcode()。我怎样才能阻止它做到这一点?我们正在使用CI v1.7.x.停止CodeIgniter不正确解码URL编码的内容

下面是一些简单的代码来显示它:

在 “计划” 控制器:

function test($parameter) 
{ 
    echo $parameter; 
} 

然后我们加载http://example.com/program/test/o%27clock,我们得到:

o?clock 

我预计o'clock或者至少o%27clock,我可以用rawurldecode()来得到o'clock

更新:不幸的是,我错了。它不是由CodeIgniter引起的。相反,suhosin的存在正在进行替代。

+0

请检查这里[这里](http://stackoverflow.com/a/8727050/2605821) –

+0

我已经没有用。 – jaydisc

+0

你已经评论了$ config ['permitted_uri_chars']取消注释,并添加(')字符将有助于我猜测。 –

回答

0

问题不是CodeIgniter。这是suhosin。