代码之家  ›  专栏  ›  技术社区  ›  Pete Alvin

IE,火狐,Safari:想写互联网过滤器:有没有我能连接的众所周知的“钩子”?

  •  4
  • Pete Alvin  · 技术社区  · 14 年前

    对于每一个现代浏览器,我都有一些众所周知的钩子可以连接起来,这样我就可以在浏览时编写一个Internet过滤器,就像一个界面,我可以在其中编写这些类型事件的实现:

    OnBeginSurf(URL) {
        // check URL to see if goes to porn site
    }    
    OnContentFinishedDownloading(HTML) {
        // check HTML for "bad" content
    }
    

    我想我会写一些COM代码?我假设火狐和Safari有一些众所周知的接口来处理这些事情?

    有人能给我指一些描述这个的网页吗?我在谷歌上找不到什么…

    3 回复  |  直到 14 年前
        1
  •  3
  •   Justin Niessner    14 年前

    不要试图钩住浏览器来编写内容过滤器。

    编写代理服务器。每个浏览器都必须通过代理服务器请求Web内容,代理服务器将能够在返回浏览器之前检查和筛选内容。您只需编写一次代码,就可以处理任何需要Web内容的问题。

        2
  •  2
  •   Franci Penov    14 年前

    对于IE来说,这些是 BeforeNavigate2 , NavigateComplete2 DocumentComplete 上的事件 DWebBrowserEvents2 Web浏览器控件的DispInterface。

        3
  •  1
  •   mikerobi    14 年前

    虽然我同意Justin Niessner的观点,但是代理服务器是一种可行的方法,但是如果你的目标是保护孩子不受色情侵害,我认为使用现有产品可能会更好地为你服务。

    很多时间和精力都投入到了工程网页过滤器中。除了编译大型禁止网站数据库外,您还需要开发启发式方法来猜测未知网站是否安全,高级过滤器还可以进行图像分析以确定图像是否包含裸体。您还需要进行大量测试,以确保保护不易被禁用或规避,并不断更新以处理新的成人内容源。

    除非您有大量的开发人员,或者计划全职工作几年,否则您很难提供现成解决方案的保护级别。