在网络浏览器上阻止特定的URL


Answers:


10

答案只会因所使用的操作系统而略有不同。我在powerpc:p上运行Ubuntu,但通常,相同的规则也适用于Windows和Mac。如果这些说明对您不起作用,那么我将根据您的操作系统调整此答案。现在,这里是Linux方法。

经过数小时的搜索,我发现的唯一方法是安装privoxy

安装privoxy之后,您需要/etc/privoxy/config按以下方式编辑文件:
1)找到显示位置

#listen-address  localhost:8118

并取消注释此行,以便说

listen-address  localhost:8118

2)在此配置文件的底部添加以下行:

actionsfile blacklist.action   
actionsfile whitelist.action   

3)现在,您需要在文本编辑器中以root用户身份创建这些操作文件:a)gksu gedit /etc/privoxy/blacklist.action 并添加以下内容

{ +block }
www.apple.com/itunes
twil.tv/category/video
www.url.com/page

您在{+ block}行下添加的所有内容都会被阻止

b)分别应创建whitelist.action文件

gksu gedit /etc/privoxy/whitelist.action

并添加行

{ -block }
www.google.com

或任何您想要保护的privoxy阻止。

保存三个文件后,必须重新启动privoxy:

sudo /etc/init.d/privoxy restart

并且必须确保浏览器或网络配置中的代理设置正确无误,只需添加localhost作为代理,将8118作为端口号即可。

privoxy的严重和令人不快的缺点是它是代理服务器,因此任何人要停止其工作所需要做的就是关闭它,或使用其他浏览器。我仍在寻找一种将privoxy添加到路由器或以某种方式运行的方法,而不是作为代理运行,而是将其作为默认端口80,那么您可以锁定配置文件,从而使任何人都无法更改它们。

这是您最接近问题答案的地方。

如果乍一看似乎不起作用,请不要忘记刷新浏览器的缓存,因为被阻止的页面即使在被阻止后也可能会从缓存中显示出来。

您也可能要关闭此功能:

确保在文件中将其enforce-blocks 1设置为1/etc/privoxy/config

enforce-blocks 1

否则,当页面被阻止警告出现时,尽管页面被阻止,它仍然可以选择转到已阻止页面,这完全使privoxy毫无意义。


1
关于“所有需要停止它的人都要做的事情就是关闭它...”,使用iptables(1)将仅针对您所关心的用户的流量列入该计算机上的代理的白名单。
有限赎罪

@LimitedAtonement,能否请您提供相关的iptables规则,以强制特定用户的所有流量都流向privoxy / e2guardian(假设它们在localhost:8080上运行)。谢谢。
user1876484

@ user1876484抱歉,我没有规则了,不记得该怎么做。cyberciti.biz/tips/…?祝好运。
限量赎罪

4

如果要在系统范围内阻止特定域,则应使用hosts文件(请参阅此处)。因此,如果要阻止Google Reader,请将以下内容添加到主机文件中:

127.0.0.1    reader.google.com

但是,对此有限制。虽然您可以阻止子域和域,但是不能使用hosts文件来阻止子目录(例如,www.example.com / subdirectory)。如果使用Google阅读器,则只需导航至www.google.com/reader即可解决该阻止问题。一个更全面的解决方案可能是使用诸如Privoxy之类的东西来控制Web访问。


1
我将要阻止的站点添加到hosts文件。127.0.0.1 www.reddit.com。然后,我断开了网络连接并重新连接。但是我仍然可以访问该网站。我需要重启电脑吗?一旦编辑了主机文件,如何缓存/引用/刷新主机文件?
Joshua Robison

1
等一下?!?!主机文件不能阻止url可以。像www.apple.com/itunes/一样,它可以阻止www.apple.com,但不能阻止www.apple.com/itunes/,对吗?
Joshua Robison

我需要编辑什么文件才能将被阻止的页面添加到privoxy?@ clipo13
Joshua Robison

@JoshuaRobison据我所知,对hosts文件的更改将立即生效。但是,诸如Web浏览器之类的应用程序可能已经缓存了旧版本,因此请尝试关闭并重新打开您使用的浏览器。有关更多信息,请参见此处。关于Privoxy,我对此并不了解。您可能想查看他们的快速入门,以获取有关需要修改哪些配置文件的更多信息。
clpo13 2013年

实际上我发现了。这很简单。无论如何,您只需要制作一个名为blacklist.action和whitelist.action的文件。我会回答这个问题
Joshua Robison

1

如果您使用的是Firefox或Google Chrome,则可以使用可自定义的“广告屏蔽”扩展程序来执行此操作。广告屏蔽扩展程序通常会附带开箱即用的整个网站范围,但是大多数可自定义的网站将允许您删除此默认列表,并仅添加不需要的特定网站。


0

解决此问题的最简单方法是为浏览器使用扩展名/脚本。

我已经使用Chrome Nanny在Chrome中完成操作。LeechBlock似乎是Firefox的替代产品。两者都支持域中的通配符,并且您可以设置阻止URL的特定时间段。


此方法有效,但仅适用于安装了扩展程序的浏览器,并且仅当浏览器未在安全模式下启动时。
安德鲁·兰伯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.