内容安全策略:允许所有外部图像?

问题描述 投票:0回答:2

我希望只允许来自本地服务器的脚本,但有某些例外,例如 jQuery 等,但可以灵活地加载外部图像。 我知道有一个像

这样的指令
Content-Security-Policy: script-src 'self' https://apis.google.com; img-src 'self' https://www.flickr.com;

允许来自我自己的网络服务器和 Flickr 的图像,但是是否可以允许来自所有来源的图像 - 或者这会违反 CSP 的整个概念,因此是不可能的?我正在维护一个经常需要嵌入外部图像的博客,因此基本上取决于将 CSP 添加到我的网站是否有意义且易于管理。

apache security xss content-security-policy
2个回答
44
投票

就安全性而言,包含所有来源的图像是一种最安全的做法,但您可能不喜欢可以使用的图像内容。

要允许所有图像,请使用:

img-src * data:;

将其限制为

https:
源可能是合理的,这样您的用户就不会收到混合内容(锁损坏)错误:

img-src https: data:;

无论哪种情况,请务必发送

X-Content-Type-Options: nosniff"
以防止 Chrome/IE 中发生内容类型嗅探。我不确定 Firefox 是否会因为嗅探而将指向 javascript 文件的图像标签视为 Javascript,但您的
script-src
应该可以防止这种情况变得可怕。我不确定
apis.google.com
是否托管用户脚本,或者是否仅限于典型的开源库。


0
投票

就我而言,我想包含缩略图以在上传图像时显示。 您可以将其添加到您的内容安全策略元标记中。

img-src * blob: data:;
© www.soinside.com 2019 - 2024. All rights reserved.