1

我有一段代码接受 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 取消转义引号以便我可以对其进行解码的任何建议?

4

1 回答 1

0

将其更改为:

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

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

于 2013-04-19T15:07:57.057 回答