怎么在Chrome和Firefox浏览器中清除HSTS设置?
HSTS代表的是HTTPS严格传输安全协议,它是一个网络安全政策机制,能够强迫浏览器只通过安全的HTTPS连接(永远不能通过HTTP)与网站交互。这能够帮助防止协议降级攻击和cookie劫持。
HSTS最初是为了响应Moxie Marlinspike在2009 BlackHat Federal(2009年黑帽安全大会)上进行的题为“实践中击败SSL的新技巧”的演讲中所提出的一个漏洞而创建的。HSTS所防御的特定漏洞就是利用的是Marlinspike发布的一款叫做SSLStrip的工具。
本质上,这个工具是通过将安全的HTTPS连接转换回不安全的HTTP连接来工作的。通过告知浏览器应当使用HTTPS连接,HSTS能够修复这一问题。HSTS还能帮助避免Firesheep等常见工具窃取基于cookie的登录凭证。
不幸的是,部分HSTS设置可能会不经意地造成浏览器错误。例如,如果你使用的是Chrome,你可能就会遇到:
“隐私错误:你的连接不是私人的”(NET::ERR_CERT_AUTHORITY_INVALID)。
如果你试图进入另一个浏览器上的同一个站点,并且不会遇到相同的问题,那么HSTS设置对你的原始浏览器所造成的影响可能就会是一个问题。在这种情况下,你将需要清除它们。以下是在谷歌Chrome和Mozilla Firefox上清除它们的具体方法。
清除和忘记流行的浏览器中的HSTS设置。
如果你的浏览器已经为域名存储了HSTS设置,而你之后又试图通过HTTP或断开的HTTPS连接(错配的主机名,过期的证书等)进行连接,你就会收到一个错误。不同于其他的HTTPS错误,与HSTS有关的错误是不能忽视的。这是因为浏览器已经收到了明确的指示,表示除了安全的连接,不允许其他任何情况。
HSTS设置包括了一个“内容能够被缓存的时间”选项,它会告诉浏览器在再次进行检查之前会缓存和记住设置多久。为了立即处理完成这个错误,你将需要在你的浏览器上删除这个域名的本地HSTS设置。具体操作步骤将在下文做介绍。
这些设置需要在每个浏览器中进行清除。作为一名开发人员,如果你正在测试HSTS配置,你可能就会遇到这一错误。在Chrome中,你可能会在本地主机上接收到这一错误。如果你在实际的网站上为终端用户部署了HSTS,那么根据你的受众的多少,纠正它们当前所拥有的错误可能就是可行的。每个用户需要删除其本地HSTS设置,或者根据之前设置的‘内容能够被缓存的时间’等待它们过期。
同样需要注意的是,如果网站仍在提供HSTS标头,一旦你再次访问这个网站,你的浏览器就会存储它。因此如果你不希望再次发生这一错误,你就必须首先停止发送该标头。
Chrome和Firefox都没有用于HSTS错误的独特的错误代码,但间隙错误页面将包含关于HSTS的信息。
删除HSTS设置
请注意,这些说明主要对正在测试HSTS和现在需要删除设置的开发人员有用。对于那些你不能控制的网站,如果这些网站仍在提供HSTS标头,那么删除浏览器的本地HSTS设置就是没有帮助的,因为你的浏览器将会在每次访问/刷新后再次保存设置。
在Chrome中,你可能会看到错误“NET::ERR_CERT_COMMON_NAME_INVALID。”如果你点击Chrome中的高级(Advanced)选项,错误信息就将包括“您现在无法访问domain.com,因为该网站使用了HSTS。”这将能够确认错误是与HSTS有关的。在本地主机上,你可能会看到错误“该网站无法提供安全的连接。”
在Firefox中,间隙页面将会显示:“该网站使用了HTTP严格传输安全(HSTS)协议来指定Firefox只能通过安全的方式来连接它。因此,为该证书添加一个例外是不可能的。”
如果你已经确定错误是由于缓存的HSTS设置所造成的,请遵照以下说明来解决这一错误:
如何删除Chrome中的HSTS设置:
- 导航到chrome://net-internals/#hsts
这是Chrome用来管理你的浏览器的本地HSTS设置的UI。
- 首先,为了确认Chrome记录了域名的HSTS设置,请在页面底部的查询域名部分输入主机名。点击查询。如果查询框返回已找到,且同时设置信息列举在了下面,那么域名的HSTS设置就保存在了你的浏览器中。
请注意,这是一个非常敏感的搜索。请只输入主机名,比如www.example.com或example.com,不要输入任何相关的协议或路径。
- 在删除域名部分中输入相同的主机名并点击
你的浏览器将不再强迫这个网站进行HTTPS连接!你可以通过刷新或导航到页面来测试它是否能够正常工作。
请注意,根据网站所提供的HSTS设置,你可能需要指定恰当的子域名。例如,staging.yoursite.com的HSTS设置可能需要与yoursite.com区分开来,因此视情况而定,你可能需要重复这些步骤。
如何删除Firefox中的HSTS设置:
我们将讲述两种不同的删除Firefox中的HSTS设置的方式。第一种方式应当可以适用于大多数情况——但如果有需要,我们也包括了一个手动选项。
- 关闭Firefox中所有打开的标签。
- 利用键盘快捷键Ctrl + Shift + H(Mac上为Cmd + Shift + H)打开完整的历史窗口。在以下步骤中,你必须使用到这一窗口或侧边栏。
- 找到你想要为之删除HSTS设置的网站——如果需要,你可以在右上角搜索该网站。
- 从项目列表中右键点击该网站,并点击忘记这个网站。这将会清除这个域名的HSTS设置(以及其他缓存数据)。
- 重启Firefox并访问该网站。你现在应当能够通过HTTP/中断的HTTPS访问这一网站了。如果这些说明行不通,那么你可以尝试以下手动方式:
针对Firefox的手动方式
如果上述步骤行不通,你可以尝试以下方式。
首先,通过你的操作系统的文件资源管理器来定位你的Firefox配置文件。你可以通过导航到about:support来找到Firefox的这一文件夹。
向下滚动到页面中部,在应用程序基本要素部分,你将看到配置文件夹。点击打开文件夹。
现在关闭Firefox,因此浏览器便不会覆盖我们将要进行修改的任何设置。
在你的配置文件夹中,找到并打开文件SiteSecurityServiceState.txt。该文件包含了你之前访问的域名的HSTS和HPKP(Key Pinning,一种独立的HTTPS机制)缓存设置。这些设置可能会有点杂乱无章。
搜索你想要为之清除HSTS设置的域名,并将它从文件中删除。每个条目都有域名。删除从想要的域名开始到下一个列出的域名中的所有的条目。还有一种方法,你可以将现有文件从a .txt重命名为a .bak(为了保存现有的文件,以防万一)并允许Firefox在下次启动时创建一个全新的文件。
以下是一个简单的HSTS列表示例。
www.thesslstore.com:HSTS 0 17312 1527362896190,1,0
正如前面所提到的,这一文件的格式可能会很混乱。以下是我的配置中的一个示例。每个域名的设置都以独特的颜色显示了出来,以清楚地区分开来。在这种情况下,之前域名的部分设置在开头会显示为红色:
怎么在Chrome和Firefox浏览器中清除HSTS设置?的更多相关文章
- chrome和Firefox浏览器渲染页面的不同
一直很好奇chrome和firefox这两大浏览器的页面渲染有什么不同,今天自己写了些html代码来做了下检验. 先做html编码,代码如下: <!DOCTYPE html><htm ...
- firefox浏览器中silverlight无法输入问题
firefox浏览器中silverlight无法输入问题 今天用firefox浏览silverlight网页,想在文本框中输入内容,却没想到silverlight插件意外崩溃了.google一下,发现 ...
- JavaScript在IE浏览器和Firefox浏览器中的差异总结
JavaScript在IE浏览器和Firefox浏览器中存在一些差异,以下对这些差异部分进行了总结,以及解决方案: 1.HTML对象的 id 作为对象名的问题 IE:HTML 对象的 ID 可以作为 ...
- firefox浏览器中 bootstrap 静态弹出框中select下拉框不能弹出(解决方案)
问题出现场景1: 在firefox浏览器中在bootstrap弹出的modal静态框中再次弹出一个静态框时 select下拉框不能弹出选项 解决方案:去掉最外层静态框的 tabindex=" ...
- Chrome和Firefox浏览器执行new Date() 函数传参数得到不同结果的陷阱
某日,同事问到关于new Date() 函数传参数,在火狐浏览器和谷歌浏览器控制台运行,会得到不同的结果,刚开始觉得不可能,后来实际操作才发现此陷阱 var date = new Date('2014 ...
- Chrome和Firefox浏览器调试对比
最近的项目中使用Extjs5, 其中主要的一个特点就是js文件的动态加载,之前使用Firefox浏览器对js文件进行调试,打断点时,只对当次调试有效,刷新之后,由于动态加载的js文件(文件名后面加了一 ...
- javascript 禁止页面选取-兼容IE、Chrome和firefox浏览器
在做到一个页面需要禁止网页内容被选取的时候,碰到浏览器兼容的问题,解决方法如下 1.单独使用适用于IE.Chrome浏览器,主要是在head的<script>标签里面加上如下代码 docu ...
- IE, Chrome和Firefox浏览器 差异对比
最近的项目中使用Extjs5.6, 其中主要的一个特点就是js文件的动态加载,之前使用Firefox浏览器对js文件进行调试,打断点时,只对当次调试有效,刷新之后,由于动态加载的js文件(文件名后面加 ...
- 爬虫工具fiddle在firefox浏览器中的使用
1.fiddle工作原理 浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,默认通过自己发送HTTP(或HTTPS)请求到服务器. 使用Fiddler之后,浏览器像目标服务器发送的请求都会经 ...
随机推荐
- SSM集合定时任务
1.首先要在spring-config.xml里面配置一下: xmlns:task="http://www.springframework.org/schema/task" htt ...
- JS数据结构与算法 - 二叉树(一)基本算法
仅供JavaScript刷题参考用. 二叉查找树和平衡二叉树 其它树:满二叉树.完全二叉树.完美二叉树.哈弗曼树.二叉查找树BST.平衡二叉树AVL 了解:红黑树,是一种特殊的二叉树.这种树可以进行高 ...
- 下载腾讯视频mp4格式
import time import subprocess import argparse def command(cmd, timeout=60): ''' :param cmd: 执行命令cmd, ...
- Pytest系列(13)- 重复执行用例插件之pytest-repeat的详细使用
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 平常在做功能测试的时候,经常 ...
- VXLAN 基础教程:VXLAN 协议原理介绍
VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网),是一种虚拟化隧道通信技术.它是一种 Overlay(覆盖网络)技术,通过三层的网络来搭建虚拟 ...
- 家庭版记账本app之常用控件的使用方法
现在先介绍在android开发的时候会用的相关的控件,做一个基本的了解方便我们之后对其进行相关具体的操作.下面是相应额详细情况: TextView android:layout_width 和 and ...
- Linux网络安全篇,认识防火墙(三),TCP Wrappers
1.防火墙设置文件 任何以xinetd管理的服务都可以通过 /etc/hosts.allow /etc/hosts.deny 这两个文件来设置防火墙(针对源IP或域进行允许或操作的设置). 其实/et ...
- 接口请求:get、post (requests方法)
https://www.cnblogs.com/lanyinhao/p/9634742.html 比较全面 1.模块说明 requests是使用Apache2 licensed 许可证的HTTP库. ...
- CH5E07 划分大理石(背包dp+二进制拆分)
传送门 大意: 有价值分别为1..6的大理石各a[1..6]块,现要将它们分成两部分,使得两部分价值之和相等,问是否可以实现.其中大理石的总数不超过20000. 解题思路: 妥妥的多重背包+二 ...
- mysql的事务四个特性以及事务的四个隔离级别
一.事务四大属性 分别是原子性.一致性.隔离性.持久性. 1.原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库, ...