【问题标题】:JSON Quotes Being Unescaped In POSTJSON 引用在 POST 中未转义
【发布时间】:2013-04-19 14:46:48
【问题描述】:

我有一段代码接受 JSON 字符串作为 POST 参数。我面临的挑战是如何解码字符串。考虑到mygateway.php 的帖子,其中包含meta 的字段:

{"test" : "One \"quote\" is as good as an escaped \"quote\"..."}

如果我跑:

$meta_json_string = $this->CI->post('meta', true);

$meta_json_string 的值为:

{
    "test": "One "quote" is as good as an escaped "quote"..."
}

在运行json_decode() 时无法解码。关于如何防止 CodeIgniter 取消转义引号以便我可以对其进行解码的任何建议?

【问题讨论】:

    标签: php json codeigniter escaping decode


    【解决方案1】:

    改成这样:

    $meta_json_string = $this->CI->post('meta');
    

    这样 CI 将不会对过于复杂而无法可靠地清理为 JSON 字符串的字符串运行 XSS 清理。完成上述操作后,然后 json_decode() 它,然后在要回显的元素上单独运行 $this->security->xss_clean()。

    【讨论】:

    • 我确实试过了,但似乎没有任何区别。
    猜你喜欢
    • 1970-01-01
    • 2014-05-30
    • 2014-08-13
    • 2013-03-16
    • 1970-01-01
    • 2014-12-19
    • 2019-10-06
    • 1970-01-01
    相关资源
    最近更新 更多