【问题标题】:Block URL using IFrame使用 IFrame 阻止 URL
【发布时间】:2009-02-03 16:24:26
【问题描述】:

我正在将外部页面加载到 IFRAME 中,其中包含我不想加载的广告。

有没有一种方法可以为 IFRAME 中的任何内容设置 URL/域黑名单?

【问题讨论】:

  • 我怀疑投反对票是因为这样做通常是不道德的,除非您正在构建自己的网站。

标签: javascript html iframe


【解决方案1】:

我假设您正在服务器端开发某种 Web 应用程序。

在这种情况下,我会达到类似Perl::HTTP::Proxy

不要将您的 IFRAME 直接指向外部站点,而是将其指向您自己站点上的 proxy 进程(页面、servlet、PHP 脚本,无关紧要)。此代码会获取提供给它的 URL 的内容,并在提供修改后的响应之前过滤掉有问题的广告代码。

我无法评论这样做的合法性或道德性;根据具体情况,有些人可能会不高兴您提供他们的内容,但没有展示他们从中获利的广告。

【讨论】:

    【解决方案2】:

    不,如果您可以更改外部页面,那么它可能会导致 XSS 攻击。您将不得不依赖 AdBlock Plus 之类的东西。

    【讨论】:

      【解决方案3】:

      没有。但是有一种方法可以从外部干扰 iframe 的脚本:

      <iframe security="restricted">
      

      这是一个仅限 IE6+ 的扩展,请参阅 http://msdn.microsoft.com/en-us/library/ms534622(VS.85).aspx

      这种机制设计得很糟糕,对于任何一种实际的安全性来说几乎都是一个巨大的损失,但是如果子页面中的广告依赖 JavaScript 来编写它的 iframe(许多广告网络都这样做),那么你也许可以像这样打破它。当然,您也可能会破坏页面上的任何其他脚本,并且您很可能仍然会得到一堆非基于脚本的广告。

      不是很满意。

      【讨论】:

        【解决方案4】:

        在内部代理请求并在返回之前处理原始 HTML?

        【讨论】:

          猜你喜欢
          • 2018-02-27
          • 1970-01-01
          • 2013-10-30
          • 1970-01-01
          • 2011-08-18
          • 2011-01-13
          • 1970-01-01
          • 2015-01-20
          • 1970-01-01
          相关资源
          最近更新 更多