如何从 chrome 扩展程序的 content_security_policy 中删除不安全评估
How to remove unsafe-eval from chrome extension's content_security_policy
我已经从我正在维护的遗留 chrome 扩展中删除了 eval
和 new Function
的所有用法。我应该如何更新 manifest.json
中的 content_security_policy
部分?
目前看起来是这样的:
{
"content_security_policy": "script-src 'self' 'unsafe-eval' https://app.xyz.com; object-src 'self'"
}
如果我正确理解 chrome 扩展中的 CSP,在我从扩展代码中删除所有 eval
和 new Function
调用后,我可能会从manifest.json
Eval
and related functions are disabled. [But,] the policy against eval()
and its relative new Function(String)
can be relaxed by adding 'unsafe-eval'
to your policy
这意味着使用 eval
和 new Function
的代码只有在
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
在您的清单中。
尝试从您的清单和 运行 您的扩展程序中删除这一行。如果一切仍按预期运行,那么您可以安全地从您的清单中删除此策略,因为您已正确删除所有禁用的功能。
注意:您必须删除与 eval
相关的所有必要功能(如 here 所述)。
Code like the following does not work:
window.setTimeout("alert('hi')", 10);
window.setInterval("alert('hi')", 10);
我已经从我正在维护的遗留 chrome 扩展中删除了 eval
和 new Function
的所有用法。我应该如何更新 manifest.json
中的 content_security_policy
部分?
目前看起来是这样的:
{
"content_security_policy": "script-src 'self' 'unsafe-eval' https://app.xyz.com; object-src 'self'"
}
如果我正确理解 chrome 扩展中的 CSP,在我从扩展代码中删除所有 eval
和 new Function
调用后,我可能会从manifest.json
Eval
and related functions are disabled. [But,] the policy againsteval()
and its relativenew Function(String)
can be relaxed by adding'unsafe-eval'
to your policy
这意味着使用 eval
和 new Function
的代码只有在
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
在您的清单中。
尝试从您的清单和 运行 您的扩展程序中删除这一行。如果一切仍按预期运行,那么您可以安全地从您的清单中删除此策略,因为您已正确删除所有禁用的功能。
注意:您必须删除与 eval
相关的所有必要功能(如 here 所述)。
Code like the following does not work:
window.setTimeout("alert('hi')", 10);
window.setInterval("alert('hi')", 10);