【问题标题】:Empty http and https declarations in Content Security Policy内容安全策略中的空 http 和 https 声明
【发布时间】:2019-11-13 18:01:32
【问题描述】:

我正在使用 nginx 来设置 CSP 标头。

我经常在示例中看到这一点:

default-src 'self' http: https: data: blob: 'unsafe-inline' 'unsafe-eval' https://*.foo.com;

我了解https://*.foo.com 允许从foo.com 域加载。

但是“空”http:https: 声明的含义是什么?

【问题讨论】:

    标签: nginx http-headers content-security-policy


    【解决方案1】:

    这意味着允许来自该协议的所有站点的内容。例如:

    1. https://example.com
    2. https://www.example.com
    3. https://www.google.com
    4. http://www.google.com
    5. http://evilhacker.com

    就目前而言,该政策基本上允许一切,而且毫无意义!

    【讨论】:

    • 所以您是说https://*.foo.com 毫无意义,因为该方案中的任何内容都是允许的?
    • 所以我想我也应该删除http:data:blob:,因为它们也不够具​​体。
    • 理想情况下。尽管它对某些用例很有用。例如default-src: https: ‘unsafe-inline’ ‘unsafe-eval’ ; upgrade-insecure-requests 可以用来强制 https 作为开始而不阻塞任何东西。然后制定更严格的政策。或者可以添加更严格的script-srcstyle-src...等。但允许图像和视频回退到default-src。虽然在这种情况下首选是严格的default-src,然后是宽松的image-src
    猜你喜欢
    • 2018-07-04
    • 2015-09-17
    • 2020-12-13
    • 2020-11-08
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    相关资源
    最近更新 更多