使用delphi来阻止网站

时间:2010-09-05 12:47:49

标签: delphi internet-explorer proxy blocking

我为我的当地学校计划发射器编程,允许学生使用教师提供的随机生成的密钥上网。这是通过将Internet Explorer中的代理更改为Internet和wb过滤器所需的代理来完成的。

随着学校网站和学习资源逐渐转移到异地托管,学生需要访问互联网密钥。除非给学生提供互联网密钥,否则学校希望能够在不打开其他互联网的情况下启用这些网站。

我通过googleing这样做的两种方式是阻止IE内容顾问中的所有网站,除了那些被允许的密钥。或者在delphi中创建一个程序可以进行的外部代理,即指向并且只允许某些网站通过真实代理。

我在计算水平方面能够流利地使用简单的delphi函数,但是没有线索从哪里开始,并希望得到任何帮助。

3 个答案:

答案 0 :(得分:5)

不要通过DIY路径 - 使用具有黑名单/白名单功能的代理,您还可以设置“透明代理”,通过该代理路由所有互联网流量,并且不需要在浏览器中设置代理。您还可以使用代理身份验证来设置可以访问的内容。 在Delphi中,您最终将编写具有相同功能的代理。如果你没有一个非常好的rason来编写你自己的代理,那么通过已经存在的解决方案要好得多,这个解决方案也已经被很多用户测试过了。有商业和开源/免费的。


如果您真的想在Delphi中编写代理:

  • 需要熟悉TCP,HTTP(S)和代理如何工作。
  • 应用程序需要是一项服务,应该是健壮的,或者访问互联网可能变得不可能。
  • 应用程序必须提供并发请求,因此它需要是多线程的(Indy提供了一个基本的HTTP代理组件 - 它的扩展程度我不知道,它只实现了基本功能。)
  • 如果您需要身份验证,身份验证方法的知识以及是否需要集成身份验证,Windows身份验证的工作原理。
    • 应使用所有使用的浏览器类型进行测试。

虽然你是一个非常有趣的应用程序,如果你想了解这一切,从头开始写,如果你有“业务需求”,最好使用现有的。

答案 1 :(得分:0)

+1并且代理可以缓存一些互联网资源,因此使用这样的工具可以使整个互联网体验更加顺畅。

我建议使用一个Linux盒子(一些旧的PC可以改装成这个)与Squid,只是为了将你的学生网络与互联网分开。互联网上有很多关于这方面的信息,还有专门的Linux发行版:世界上很多学校都有同样的问题!

答案 2 :(得分:-1)

OpenDNS是最好的起点。把它放好,设置所有PC使用它,这将解决你的大部分问题。