Je passais en revue les effets néfastes de l'utilisation d'eval() par rapport aux attaques basées sur XSS. Il y a un morceau de code que j'ai besoin de protéger contre une éventuelle attaque XSS, et ce que j'imagine que JSON.parse() devrait fonctionner correctement.Convertir eval() en 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"];
Quelqu'un peut-il conseiller comment puis-je changer le eval()
(pour jsonData) à JSON.parse?
Cette question semble répondre pour elle-même ...? – Liam
Je ne comprends pas pourquoi demandez-vous comment remplacer une chose par une autre quand il semble presque trop évident et la réponse ci-dessous. Et pourquoi est-il étiqueté sous [xss] et [injection de code]? Wierd. –