使用java阻止某个网站

时间:2012-05-07 08:03:40

标签: java

我正在开展一个小型(我希望如此)的项目,我正处于一个非常开始的状态。我已经google了,仍然无法开始。让我解释一下我的想法。首先,我在JTextField中输入网站的地址(比如codeproject.com)。然后在点击JButton(比如说Block)之后,我无法使用互联网浏览器打开该网站(实际上是firefox)。但是在击中另一个JButton(比如Unblock)后,我通常可以访问该网站。我刚才知道使用java很难做到这一点。使用C ++可能是更好的选择。

任何建议都将不胜感激!

提前致谢!

3 个答案:

答案 0 :(得分:1)

查看Rabbit,这是一个用Java编写的代理服务器。当然,您的浏览器必须配置为通过该代理传递所有请求。

答案 1 :(得分:1)

虽然我同意@Moritz Petersen,但我可以提出另一种解决方案。 HTTP代理很好,但用户可以将其从浏览器的首选项中删除。但你可以做其他事情。 JPcap是一个用于捕获和发送网络数据包的库。

因此,您的应用程序可以执行以下操作:捕获从计算机上的任何浏览器发送的HTTP请求。如果请求的URL与黑名单中的一个匹配,请在稍微延迟后向浏览器发送“拒绝”。因此,从用户的角度来看,它看起来就像浏览器开始呈现所请求的网站并突然拒绝页面出现。这比使用现成的HTTP代理更复杂,但非常有趣,应该是相对较小的项目。除非他杀死您的申请,否则用户无法绕过您的支票。

答案 2 :(得分:0)

如果您使用代理服务器,那么您的软件必须始终在运行。相反,对于入门级网站访问控制软件,您可以使用java或c ++来构建应用程序(GUI)。该软件只需编辑“主机”即可。在您的操作系统中,WebDomain将被阻止。

主持人的位置'文件:

  • 在Windows中: C:\ Windows \ System32 \ drivers \ etc \ hosts

  • 在Linux中: / etc / hosts

您的软件需要管理员/ root权限才能编辑主机'文件。

启动软件的步骤:

  • 修改文件并删除'#'在行之前

--- 127.0.0.1 localhost

--- :: 1 localhost

阻止网站的步骤:

  • 将以下行添加到' hosts'文件:

--- 0.0.0.0 www.facebook.com

--- 0.0.0.0 www.example.com

取消阻止的步骤:

  • 只需删除您已添加到文件中的行。

<强>注意:

永远不要删除默认存在的文件内容。维护&#39;主机的备份副本。推荐文件。