gpt4 book ai didi

security - 我应该为哪些 Content-Type 设置与安全相关的 HTTP 响应 header ?

转载 作者:行者123 更新时间:2023-12-04 12:45:26 25 4
gpt4 key购买 nike

我已经构建了一个 Web 应用程序(使用我最喜欢的语言 Fantom !),并且正在通过提供行业标准的 HTTP 响应 header 将其锁定在 XSS 和其他此类攻击中。
我的问题是,应该为哪些响应设置标题?
我可以为 设置标题每响应,但这似乎很浪费,因为大多数请求都是针对图像、字体、样式表等的。Content-Security-Policy尤其是 header 会变得很长。
由于许多标题与拥有的 HTML 页面(以及其中包含的 Javascript)有关,我觉得其中的大多数只需要为 HTML 页面设置。
我查看了各种资源,例如:

  • Content Security Policy
  • HSTS - RFC 6797
  • X-XSS-Protection
  • Mozilla Web Security Guidelines

  • 虽然他们解释了标题的作用,但他们没有解释应该为哪些资源使用和服务!
    我在下面列出了 HTTP 响应 header ,其中 Content-Types我认为他们应该被送达。但有谁知道这是否正确?
    HTTP Response Header       text/html  All Content-Types
    ------------------------- --------- -----------------
    Content-Security-Policy X
    Referrer-Policy X
    Strict-Transport-Security X
    X-Content-Type-Options X
    X-Frame-Options X
    X-XSS-Protection X
    (当我说 text/html 我也包括 application/xhtml+xml 。) Referrer-Policy由于 CSS 能够加载字体和图像,因此属于所有内容类型。

    最佳答案

    从理论上讲,只有“事件”文档才需要它,就像 X-XSS-Protection header ( related answer here from Info Security ) 一样。只要在主文档上设置策略(即使通过 Meta 标签),外部资源应该基于该策略被阻止,而不是基于外部资源的策略(在加载几乎肯定没有的 CDN 文件时很容易看到您的 CSP 或任何 CSP 集)。

    所以我会说你的估计是正确的; text/HTML 和 XML 绝对应该拥有它,任何可以执行 Javascript 的东西。对于静态资源应该无关紧要。它们将根据主文档的 CSP 被阻止或允许。

    我承认,就我个人而言,我只是将它们发送到直接从我的服务器提供的所有资源上,因为我宁愿偏执也不愿搞砸,而且每个请求的几十个字节似乎没有太大影响,尤其是在没有不能满足大量请求。如果您的站点确实处理了大量请求……通常最好在尝试缩小 header 之前减少请求。

    与任何类似的事情一样,我一定会测试您的具体实现并尝试加载 CSP 应该阻止的一些资源。您永远不知道浏览器实现何时可能存在缺陷(或者更常见的是,拼写错误或过度/不足地应用您自己的规则)。

    关于security - 我应该为哪些 Content-Type 设置与安全相关的 HTTP 响应 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48151455/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com