首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止使用Delphi服务的URL

停止使用Delphi服务的URL
EN

Stack Overflow用户
提问于 2013-03-15 00:23:44
回答 3查看 415关注 0票数 1

我想有用Delphi7编写的后台服务,它可以阻止任何浏览器加载特定的URL。这个是可能的吗?

谁能给我指个方向?

提前谢谢。

沙恩

EN

回答 3

Stack Overflow用户

发布于 2013-03-15 03:50:03

有两种方法,第二种方法在技术上是最好的:

  • 编写一个inject into all processes的DLL,如果这些进程是针对浏览器的,则必须拦截和过滤所有流量,例如,使用Windows socket
  • 编写一个工作起来有点像防火墙(在操作系统的较低级别)的Layered service provider

我在互联网过滤软件方面工作过,我可以告诉你,这两个都是很大的事业。我们最初采用了第一种方法,然后切换到另一种方法,因为它在技术上更好。我们从未完成过渡,因为公司倒闭了;-(

我们没有编写自己的LSP (这本身就是一项很大的工作),而是使用了Komodia的产品。尽管他们是用C编写的,但他们对回答我们关于移植到Delphi的问题非常有帮助。

但正如我前面所说的,这很重要:你必须处理32位和64位代码,http和https,保护服务不被停止,等等。你能找到的任何非编程解决方案都是更好的(尽管很容易绕过)。

如果你还想编程:准备好使用LSP进行编码的1个人年。

票数 3
EN

Stack Overflow用户

发布于 2013-03-15 00:27:46

一种服务,不,我不这么认为。但您可以编辑'hosts‘文件,使url的域指向127.0.0.1。您可以创建一个“保护”此文件的服务,尽管服务本身必须具有更高的权限才能编辑它,当然,如果用户有权这样做,服务本身也可以被终止。

无论如何,如果您设法编辑该文件,浏览器将无法通过域名找到服务器。当然,带有IP地址的urls不能以这种方式阻止,您也不能阻止特定的urls,只能阻止整个域。

但一般来说,这不是使用自定义服务来解决的问题,而是在PC或路由器上的防火墙中解决的问题。

票数 1
EN

Stack Overflow用户

发布于 2013-03-15 04:31:25

对于Internet Explorer,您可以编写IE自己加载和传递浏览器事件的Browser Helper Object。然后,BHO可以根据需要基于每个请求接受/拒绝URLS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15414751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档