通过 etc/hosts 阻止通过 http 访问网站,但不阻止通过 https 访问网站?

通过 etc/hosts 阻止通过 http 访问网站,但不阻止通过 https 访问网站?

我想阻止(而不是重定向)通过 http 访问网站,但如果用户输入 https 则不行。

我正在使用 Windows 7。该怎么做?

答案1

这是不可能。HOSTS 文件仅影响 DNS 请求。当您的浏览器请求http://example.com/计算机会对 example.com 进行 DNS 查找。当您的浏览器请求https://example.com/,它还会对 example.com 进行 DNS 查找,并且结果始终相同,因为它们是相同的。http 与 https 只是协议不同。

为了回答您关于如何阻止它的更大问题,您的环境是什么?这只是一台家用电脑,还是您在公司环境中为大量电脑执行此操作?有关您的需求和这种情况的更多详细信息将有助于解决您的问题。

答案2

正如其他答案所说,这无法通过 HOSTS 文件完成。

可以使用 Windows 防火墙来完成。添加出站规则以阻止 http 到站点(出站的默认规则是允许,因此您只需要在要阻止的地方添加规则)。

答案3

进入控制面板和 Internet 选项。在“安全”选项卡的“受限站点”下,添加站点 http 版本的 URL。如果您愿意,可以在“受信任的站点”下添加 https URL。

这不会完全阻止访问,但会禁用除直接呈现 HTML 之外的几乎所有功能。

另一种方法可能是使用代理服务器。

相关内容