我正在使用此方法来检测含有eval
的CSP(也在AngularJS中使用):
function noUnsafeEval() {
try {
new Function('');
return false;
} catch (err) {
return true;
}
}
但我手头没有装有CSP的服务器来彻底测试它。
它可靠吗?代码中是否存在new Function('')
行会导致无法捕获的错误?
err
是什么?那里捕获的是哪种类型的错误(Error
,TypeError
等)?CSP错误消息是什么?
我找不到关于CSP运行时错误的文档。
err instanceof SecurityError
的线索吗?看起来似乎没有SecurityError
全局对象。 - Estus Flask