【问题标题】:Stop CodeIgniter from incorrectly decoding URL-encoded content阻止 CodeIgniter 错误地解码 URL 编码的内容
【发布时间】: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


【解决方案1】:

问题不在于 CodeIgniter。是suhosin。

【讨论】:

    猜你喜欢
    • 2012-06-13
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 2018-07-02
    相关资源
    最近更新 更多