根据MDN关于script-src的文档,以下内容被视为"不安全"并且在严格的CSP下被阻止:
eval()
Function()
window.setTimeout("bad()", 0)
window.execScript
(仅IE <11)但为什么以下不属于此列表的一部分?它与eval(badCode)
有何不同?
var script = document.createElement('script');
script.text = badCode;
document.head.appendChild(script);
答案 0 :(得分:2)
使用script-src
将阻止内联脚本执行,因此设置脚本文本或textContent将无法解决。要检查它,请加载带有以下元标记的html文件:
<meta http-equiv="Content-Security-Policy" content="script-src 'self'">
并尝试再次执行您的代码。
来源:
https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution https://developers.google.com/web/fundamentals/security/csp/?hl=en