【问题标题】:Content Security Policy: allowing all external images?内容安全策略:允许所有外部图像?
【发布时间】:2016-03-03 15:17:45
【问题描述】:

我想只允许来自我的本地服务器的脚本,但有一些例外,如 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


    【解决方案1】:

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

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

    img-src * data:;
    

    将其限制为https: 来源可能是合理的,这样您的用户就不会收到混合内容(断锁)错误:

    img-src https: data:;
    

    在任何一种情况下,请务必发送 X-Content-Type-Options: nosniff" 以防止在 Chrome/IE 中发生内容类型嗅探。我不确定firefox是否会将指向javascript文件的图像标记视为由于嗅探而将其视为Javascript,但您的script-src应该可以防止这种情况变得糟糕。我不确定apis.google.com 是托管用户脚本还是仅限于典型的开源库。

    【讨论】:

    • X-Content-Type-Options: nosniff 是一个有用的标签,我推荐它,但是<image> 标签无法使用 src 属性从服务器加载 JavaScript,即使内容类型确实返回为 @987654330 @.
    • 我如何也允许 http ?
    • 同理:img-src http: https:;。详情在这里:developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…
    猜你喜欢
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 2023-02-09
    • 2019-08-10
    • 2016-11-22
    • 2020-10-19
    • 2021-09-19
    相关资源
    最近更新 更多