Hostfile 没有阻止此网站,为什么?

Hostfile 没有阻止此网站,为什么?

我正在尝试https://example.com/en/b9ah使用 hosts 文件来阻止该网站。

我进入文件资源管理器,此电脑,选择 Windows、System32、驱动程序等、主机文件,复制主机文件并将其粘贴到我的桌面上,然后在记事本中打开该复制的版本。

我输入了(0.0.0.0 https://example.com/en/b9ah)没有www,只有https://

我保存了从记事本中关闭的文件,选择了桌面上的复制版本,将其拖入带有主机文件的文件资源管理器中,放入窗口,然后收到消息“是否要替换”,我确认了替换,确认了管理员访问权限,然后我打开了原始主机文件,以确保我的更改在那里并且确实存在。

在有人建议我重启电脑或者删除缓存或 cookies 之前,我还设置了另一个网站作为测试:

www.another.com =0.0.0.0 www.anotherexample.com

在重复与我实际想要阻止的网站相同的过程后,这个仍保留着旧缓存和 cookie 的网站被阻止了。

但我想要屏蔽的网站却没被屏蔽。

因此,我得出结论,问题出在我使用的 hosts 文件 URL 上。如何正确将此站点添加到 hosts 文件以阻止它?

0.0.0.0 example.com按照吩咐做了,但仍然没有效果:

在此处输入图片描述

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
 
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost

0.0.0.0 example.com

像这样:

和这个:

我究竟做错了什么?

答案1

“https” 不是一个网站。它是一种协议。协议前缀不属于您的 hosts 文件。hosts 文件提供主机路径 - 它不提供“https”或“纯文本”等协议的路径。

答案2

@user165568 是 100% 正确的 - 为了澄清他的意思 - 在“hosts”文件中,您可以阻止“example.com”以阻止与该域相关联的任何 URL(您需要一个单独的条目www.example.com阻止 www 版本)。

如果您正在考虑更具体地阻止域名级别,那么您将需要一个替代策略,例如针对您的域名的“URL Blocker”插件。

为了清楚起见,这与您输入的原始域名没有任何具体信息。

答案3

有什么方法可以用主机文件阻止这个网站吗?我只是做得不正确?

您的主机文件中的条目似乎是正确的。当您输入地址或刷新网站时,如果仍在加载,则意味着您的浏览器从缓存中获取数据。

请尝试重新加载网站包括缓存,通常使用 Crtl+F5(例如使用 Chrome、Firefox 等)应该可以解决问题。

除非存在其他问题,例如您忘记保存 hosts 文件、DNS 缓存问题等,否则此解决方案将不起作用。执行 ping 测试以检查是否存在其他问题:

  • ping example.com(不含 hosts 文件条目)
  • 添加 hosts 文件条目(例如0.0.0.0 example.com
  • ping example.com再次

如果问题仍然存在,请告知我们 ping 测试的结果。

它只是 https:

https://不是域名的一部分。使用 hosts 文件时,您可以完全忽略它。但您不能忽略其他前缀,例如www。顶级域名(例如.com)之前和协议之后的任何内容SomeProtokoll://都相关。请注意,www.something.comsomething.com需要在您的 hosts 文件中成为 2 个单独的条目。

我开始怀疑,依赖主机文件来屏蔽网站有什么意义,因为这个垃圾只能屏蔽 URL 中带有 www 的网站

它不仅限于以www作为前缀的网站,也不是垃圾。它只是不是为了屏蔽网站而设计的。它的目的是将 IP 地址映射到域名(例如,如果您希望将域名解析为与 DNS 服务器提供的 IP 不同的 IP,或者 DNS 服务器不可用)。您可以使用它来屏蔽网站,但它仍然是一种可能无法满足您所有要求的解决方法。(hosts 文件实际上是 DNS 的前身)

其他想法:您可能需要考虑重新路由到127.0.0.1而不是0.0.0.0,甚至可能添加显示“此网站已被阻止”的本地 HTTP 服务器。但老实说,我会使用第三方应用程序(请参阅这里)或防火墙(如果您使用的话)进行阻止。

相关内容