0
当你逃脱输出你做这样的防止XSS:如何逃脱JSON喜欢你逃避输出,以防止XSS
echo htmlentities($variable);
我们需要逃避JSON对象过于防止XSS?:
echo htmlentities(json_encode($variable));
还是没有必要,请有人告诉我。如果不需要,请解释原因?
JQuery的:
阿贾克斯的成功部分内:
这将是在$。每个环路和内容将是:
$('#textbox').attr('value', variable);
你如何转义数据取决于*你把它放在哪里*,而不是你要转义的数据是什么。我们不能告诉你需要对数据做什么,因为我们不知道你的'echo'声明出现在哪里。 – Quentin 2013-02-22 17:01:23
JSON对象被解析为javascript/JQuery。并用于显示输出,有时放在文本框中。 – 2013-02-22 17:47:12
“JSON对象被解析为javascript/JQuery” - 没有说明你在哪里放置它。只是什么处理它。这可能意味着你创建了一个'application/json' HTTP响应,或者将它作为'data-json'属性值嵌入到div中,或者将它嵌入到'
号JSON编码输出是安全的。所有可能有害的字符或输入类型都会被正确转义或引用。
来源
2013-02-22 17:01:33
根据JSON文本的回显位置,这可能会也可能不会。 (例如,如果它被回送到HTML属性值中,它不是真的) – Quentin 2013-02-22 17:02:47