【发布时间】:2017-04-11 10:08:19
【问题描述】:
我正在经历使用 eval() 对基于 XSS 的攻击的不良影响。我需要一段代码来防止可能的 XSS 攻击,我猜 JSON.parse() 应该可以正常工作。
var request = new XMLHttpRequest();
var url = encDataPath + "/jcr:content/metadata.json?_charset_=utf-8";
url = Granite.HTTP.externalize(url);
request.open("GET", url ,false);
request.send(null);
var jsonData =eval("(" + request.responseText + ")"); // <-- here
var assetTitle = jsonData["dc:title"];
var mimetype = jsonData["dc:format"];
有人可以建议我如何将eval()(用于 jsonData)更改为 JSON.parse?
【问题讨论】:
-
这个问题似乎可以自己回答...?
-
我不明白你为什么要问如何用另一种东西代替它,因为它看起来几乎太明显了,答案如下。为什么它被标记在 [xss] 和 [code-injection] 下?奇怪。
标签: javascript json eval xss code-injection