【发布时间】:2009-02-03 16:24:26
【问题描述】:
我正在将外部页面加载到 IFRAME 中,其中包含我不想加载的广告。
有没有一种方法可以为 IFRAME 中的任何内容设置 URL/域黑名单?
【问题讨论】:
-
我怀疑投反对票是因为这样做通常是不道德的,除非您正在构建自己的网站。
标签: javascript html iframe
我正在将外部页面加载到 IFRAME 中,其中包含我不想加载的广告。
有没有一种方法可以为 IFRAME 中的任何内容设置 URL/域黑名单?
【问题讨论】:
标签: javascript html iframe
我假设您正在服务器端开发某种 Web 应用程序。
在这种情况下,我会达到类似Perl::HTTP::Proxy。
不要将您的 IFRAME 直接指向外部站点,而是将其指向您自己站点上的 proxy 进程(页面、servlet、PHP 脚本,无关紧要)。此代码会获取提供给它的 URL 的内容,并在提供修改后的响应之前过滤掉有问题的广告代码。
我无法评论这样做的合法性或道德性;根据具体情况,有些人可能会不高兴您提供他们的内容,但没有展示他们从中获利的广告。
【讨论】:
不,如果您可以更改外部页面,那么它可能会导致 XSS 攻击。您将不得不依赖 AdBlock Plus 之类的东西。
【讨论】:
没有。但是有一种方法可以从外部干扰 iframe 的脚本:
<iframe security="restricted">
这是一个仅限 IE6+ 的扩展,请参阅 http://msdn.microsoft.com/en-us/library/ms534622(VS.85).aspx。
这种机制设计得很糟糕,对于任何一种实际的安全性来说几乎都是一个巨大的损失,但是如果子页面中的广告依赖 JavaScript 来编写它的 iframe(许多广告网络都这样做),那么你也许可以像这样打破它。当然,您也可能会破坏页面上的任何其他脚本,并且您很可能仍然会得到一堆非基于脚本的广告。
不是很满意。
【讨论】:
在内部代理请求并在返回之前处理原始 HTML?
【讨论】: