![阻止某个 URL?](https://linux22.com/image/59945/%E9%98%BB%E6%AD%A2%E6%9F%90%E4%B8%AA%20URL%EF%BC%9F.png)
我想拒绝访问特定 URL。它不是一个完整的网站,而是一个特定的 URL。我想简单地做到这一点,以便某些应用程序(包括浏览器)无法发出请求。我试过这个:
$ cat /etc/hosts
127.0.0.1 http://url_to_block/url_to_block2/url_to_block3
但这对我没有帮助,例如,在浏览器中,某些网站不断向该 URL 发送 ajax 请求并接收来自它的响应。
为什么不?怎么做?
答案1
该文件/etc/hosts
仅用于映射主机名与 IP 地址,不适用于 URL。据我所知,没有任何方法可以让您对所有应用程序(内置于典型的 Linux 发行版中)全面执行此操作,但您有几个选项可以让您按照浏览器、通过插件或使用 HTTP 代理来过滤来自 Web 浏览器的所有请求。
插件
2 个这样的 Firefox 插件:
还有其他的。对于 Chrome:
如果只是为了你自己,或者是少数系统上的几个用户,我可能会走这条路。
代理
如果适用于更大的用户域,那么您将需要使用 HTTP 代理。根据您的选择,您可能必须独立配置每个用户的浏览器。
如果您选择使用类似的方式代理所有 HTTP 流量乌贼,您可以将其配置为透明代理,但这必须在位于您的系统和互联网之间的系统上完成。本文讨论了如何进行设置的说明,标题为:Linux:通过三个简单步骤使用 Squid 设置透明代理。