0

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

任何意见,将不胜感激!

提前致谢!

4

3 回答 3

1

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

因此,您的应用程序可以执行以下操作:捕获从机器上的任何浏览器发送的 HTTP 请求。如果请求的 URL 与您的黑名单中的一个匹配,则在一小段延迟后将“拒绝”发送回浏览器。因此,从用户的角度来看,浏览器似乎开始渲染请求的站点并突然出现拒绝页面。这比使用现成的 HTTP 代理更复杂,但恕我直言很有趣,应该是相对较小的项目。除非他杀死您的应用程序,否则用户无法绕过您的检查。

于 2012-05-07T08:24:31.893 回答
1

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

于 2012-05-07T08:08:40.060 回答
0

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

“主机”文件的位置:

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

  • 在 Linux 中:/etc/hosts

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

启动软件的步骤:

  • 编辑文件并删除行前的“#”

--- 127.0.0.1 本地主机

--- ::1 本地主机

阻止网站的步骤:

  • 将以下行附加到“主机”文件中:

--- 0.0.0.0 www.facebook.com

--- 0.0.0.0 www.example.com

解锁步骤:

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

警告:

永远不要删除默认存在的文件内容。建议维护“主机”文件的备份副本。

于 2014-03-29T18:16:45.023 回答