因此,出于显而易见的原因,我尝试屏蔽一些网站,但即使我“据称”屏蔽了这些网站,我仍然可以继续访问它们。
我已将/etc/hosts
文件编辑成如下所示(例如 Facebook)
0.0.0.0 https://www.facebook.com
0.0.0.0 facebook.com
0.0.0.0 www.facebook.com
但我仍然可以访问 Facebook。我做错了什么?
编辑:似乎只有 Chrome 可以屏蔽该网站,但我仍然可以通过 Safari 和 Firefox 访问它。
我正在运行 OS X Yosemite
答案1
请使用下列方法:
127.0.0.1 facebook.com
127.0.0.1 www.facebook.com
IP 地址 127.0.0.1 是本地主机(又称本地环回)地址。通过使用 127.0.0.1,您是在告诉系统 facebook.com 的 IP 地址是您系统本身的地址,这实际上使 FaceBook 无法访问,因为系统将从 hosts 文件获取站点的 IP 地址,而不是执行DNS查找。你放入文件的第一个条目,https://www.facebook.com,不属于那里。该文件提供了一种静态机制,用于翻译完全限定域名 (FQDN)到 IP 地址,因此应该只包含与 IP 地址关联的 FQDN 或主机名,而不是以协议为前缀的主机名,例如 HTTP、HTTPS、FTP 等。