我已删除了eval
和new Function
与旧版Chrome扩展程序的所有用法。我应该如何更新content_security_policy
中的manifest.json
部分?
目前它看起来像这样:
{
"content_security_policy": "script-src 'self' 'unsafe-eval' https://app.xyz.com; object-src 'self'"
}
如果我正确理解了Chrome扩展程序中的CSP,在我从扩展程序代码中删除了所有eval
和new Function
来电后,我可能会从unsafe-eval
<删除manifest.json
< / p>
答案 0 :(得分:1)
Eval
并禁用相关功能。 [但是]可以通过在您的政策中添加eval()
来放宽针对new Function(String)
及其相对'unsafe-eval'
的政策
这意味着使用eval
和new Function
的代码只有在您拥有
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
在你的清单中
尝试从您的清单中取出此行并运行您的扩展程序。如果一切仍然按预期工作,那么您可以安全地从清单中删除此策略,因为您已正确删除所有已禁用的功能。
注意:您必须删除与eval
相关的所有必要功能(如here所述)。
以下代码不起作用:
window.setTimeout("alert('hi')", 10);
window.setInterval("alert('hi')", 10);