1

我已经从传统chrome扩展中删除了evalnew Function的所有用法,这是我所需要的。如何更新manifest.json中的content_security_policy部分?如何从chrome扩展的content_security_policy中删除不安全评估

目前,它看起来像这样:

{ 
    "content_security_policy": "script-src 'self' 'unsafe-eval' https://app.xyz.com; object-src 'self'" 
} 

如果我理解正确的Chrome扩展CSP,之后我删除了所有evalnew Function电话从扩展的代码,我可以从manifest.json

回答

1
删除 unsafe-eval

Eval及相关功能被禁用。 [但]对eval()政策及其相关new Function(String)可以通过添加'unsafe-eval'您政策放松

此使用evalnew Function,如果你有

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'" 

只会工作,意味着代码的表现。

尝试从清单中取出此行并运行您的扩展。如果一切仍按预期工作,那么您可以安全地从清单中删除此策略,因为您已正确删除所有禁用的功能。


Link to CSP

注意:您必须删除相关eval所有必要的功能(如描述here)。

如下面的代码不起作用:

window.setTimeout("alert('hi')", 10); 
window.setInterval("alert('hi')", 10);