如何使用元标记放宽内容安全策略

How to relax Content Security Policy with meta tag

我正在尝试使用某些页面的特定元标记来覆盖内容安全策略。

我已经尝试了几个小时了,但我还没有成功。

有没有办法从页面本身覆盖 CSP(使用 JavaScript 或元标记)而无需修改服务器配置?

谢谢。

没有

出于安全考虑meta标签只能使政策更严格,不能放宽政策定义在headers.

要是meta标签能放宽政策,CSP就没牙了。任何恶意方都可以添加一个元标记来禁用该策略并避免所有应有的限制。

您可以收紧 CSP,但不能放松。您可以在生成页面的代码中将站点重新配置为 tighten/loosen CSP。例如,在 PHP 中,您可以创建一个 header,但稍后会覆盖 header——只要您在任何内容实际输出到浏览器之前这样做即可。

这就是我在我管理的网站上所做的 -- 每个页面都有一个相当严格的默认 CSP header,但在特定页面上我可能会放宽它以允许特定于该页面的内容页。但是您必须在生成页面本身时这样做;在初始 CSP header 发送后,您不能使用元标记或 JavaScript。