2010-09-05 94 views
0

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

随着学校网站和学习资源逐渐迁移到非现场托管,学生需要访问互联网密钥。学校想要的是一种方式来启用这些网站,而不必解除互联网的其他部分,除非互联网密钥给予学生。

通过googleing来做到这一点的两种方式是阻止IE内容顾问中的所有网站免除那些不允许使用密钥的内容。或者在delphi中创建一个代理程序,它可以让程序指向并且只允许某些网站通过真正的代理。

我是流利的简单的德尔福功能与计算水平,但没有一个线索在哪里开始与此,并会感谢任何帮助。

+0

嗯......是不是有现成的软件,这是免疫的学生可以想出绕过代理设置的任何shenanigans更多的免疫力? – 2010-09-05 12:51:48

+2

我也会投票选择使用“真正的”解决方案,而不是一些可疑的尝试来阻止使用软件。将网络配置为仅允许所需的服务(例如HTTP)并需要HTTP代理。在代理上使用内容过滤和/或URL阻止来提供安全性。 Squid提供一个体面的解决方案。 – 2010-09-05 12:59:31

回答

5

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


如果你真的很喜欢在Delphi编写一个代理:

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

虽然一个非常有趣的应用程序从头开始,如果你喜欢了解所有的,如果你有一个“业务需要”写最好使用一个已经存在的。

+0

透明代理+1;虽然我讨厌使用UMTS数据服务时使用透明代理的沃达丰......我认为虽然这个问题更适合于serverfault.com – 2010-09-06 08:20:00

+0

当然,如果他需要知道如何设置代理服务器,默认是正确的站点。我编辑了我的答案,使其对任何有兴趣在Delphi中编写代理的人都更有用。 – 2010-09-06 10:05:55

0

+1并且代理可能会缓存一些互联网资源,所以整个互联网体验将会更平滑。

我推荐使用一个linux盒子(一些旧电脑可以修改成这个)与鱿鱼,只是为了分开你的学生网络到互联网。互联网上有很多关于这方面的信息,还有专门的Linux发行版:全球很多学校都有同样的问题!

-1

OpenDNS是最好的开始。把它放在一边,设置所有的个人电脑使用它,这将会照顾你的大部分问题。

+0

匿名downvote? WTF? – 2011-03-20 21:45:43