首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HSTS预压意义

HSTS预压意义
EN

Stack Overflow用户
提问于 2022-03-07 07:49:57
回答 1查看 828关注 0票数 2

MDN HTTP严格传输安全(HSTS)中,它有一个HSTS设置示例,如下所示

代码语言:javascript
复制
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

在这里,我可以找到max-ageincludeSubDomainsRFC 6979中的对应平均值,但它没有preload的含义。

我在最新的Chrome和火狐浏览器上进行了测试,而且preload似乎什么也不做。无论是否预加载,在请求http请求时,如果使用Chrome,都可以在不请求服务器的情况下找到由Chrome浏览器制作的307 Internal Redirect,这正是HSTS所期望的。

那么,preload**?** 的目的是什么?

此外,即使我添加了HSTS报头,它仍然有机会受到攻击,在用户第一次使用HTTP访问网站时。我们怎样才能减轻这种风险呢?也就是说,在向服务器发送任何请求之前,如何告诉浏览器将域添加到HSTS列表?

附注:

我找到了https://hstspreload.org/,如果需要注册域,需要添加max-agepreload指令。这就是为什么preload是必要的吗?这应该是我应该添加域以确保新用户免受SSL剥离攻击的页面吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-07 18:45:42

预加载是一个很大的承诺。它将有效地被硬编码到浏览器的代码中。考虑到推出新版本至少需要几个月的时间,它基本上是不可逆转的。

此外,由于它在领域级别下降,错误已经发生。例如,预装domain.com,但覆盖该blog.domain.com,或intranet.domain.com还没有升级到HTTPS。在这一点上,您的选择是: 1)升级到HTTPS,并与零用户一起生活到站点,直到或2)逆转预加载,等待几个月后才能在所有浏览器上推出,并在此之前处理零用户。

HTTPS现在更常见了,所以风险降低了,但是当HSTS预加载第一次出现时,这些才是真正的风险。

因此,preload属性是一个信号,表明站点所有者已经准备好接受这一承诺。它还阻止了其他人提交一个没有使用这个标题的站点(不管是恶意的,还是善意的,但意图是误导的)。

你是正确的,因为它不会在浏览器中“做”任何事情。

还有人谈到检查是否仍在发送预加载头,如果没有删除预加载,但不确定是否已完成。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71377849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档