我正在研究Firefox和Chrome如何详细实施HSTS(HTTP严格传输安全性)。
原来他们有一个预定义的列表,其中一些站点已经实现了HSTS。这可以在here和/或here看到。 这些列表似乎与源代码本身有某种联系,这在某种程度上是有道理的...但Firefox和Chrome如何处理我自己的HSTS标题?他们如何以及在何处存储我的网址,我的最大年龄以及我是否包含子域名? 我无法在about:config或同样的....中找到它。
所以也许有人比我更了解这个问题,我只是好奇(: THX!
答案 0 :(得分:4)
请参阅http://hg.mozilla.org/mozilla-central/file/20bbf73921f4/netwerk/protocol/http/nsHttpChannel.cpp#l1072,然后http://hg.mozilla.org/mozilla-central/file/20bbf73921f4/security/manager/boot/src/nsStrictTransportSecurityService.cpp#l249调用http://hg.mozilla.org/mozilla-central/file/20bbf73921f4/security/manager/boot/src/nsStrictTransportSecurityService.cpp#l147
因此数据最终存储在权限管理器中,这是每个主机信息存储在Firefox中的正常位置。我认为权限管理器将其状态存储在permissions.sqlite
中。
答案 1 :(得分:1)
希望HTTP Strict Transport Security (HSTS)
强制执行的网站在回复时发送标头 - Strict-Transport-Security: max-age=31536000
最大年龄是它到期的时间。它是在每个请求上发送的,以便每次请求时都会更新到更多的时间。
浏览器(我只尝试过Firefox)用它存储这些数据,每次访问网站时都会使用它。即使对于隐身模式也是如此。如果您以前在非隐身模式下访问过该网站,则即使您尝试以隐身模式立即打开该网站,也会保存并使用该网站的详细信息。
对于firefox,此数据存储在名为SiteSecurityServiceState.txt
的文件中,该文件位于firefox配置文件文件夹中。您可以在浏览器中输入about:support
,然后选择“在文件夹中显示”以打开您的个人资料文件夹,您可以在其中找到此文件。
我不确定预定义的网站,但上面是为firefox更新普通网站HSTS详细信息的文件。
更多详情 - Understanding HTTP Strict Transport Security (HSTS)
PS:以上链接转到我的个人博客,其中包含有关HSTS的更多详细信息。