停止修改HTML元素

时间:2013-04-12 03:15:47

标签: javascript html dom

我有恶意广告问题。

我的网站包含大量广告位,我们会从2-3个广告网络中填充这些广告位。

最近,浏览器中出现了大量的插件/扩展程序(用户可能会安装它们),当页面加载时,他们会查看所有此类广告位并将自己的广告代码注入其中。

这对我的收入和收入产生了影响。更重要的是,他们注入的色情广告让我变得松散。

现在我采取的一种方法是以某种方式保护广告代码,使封装它的div不可更改。 (这可以吗?) 或者关于如何阻止这种情况的任何其他方法/观点?

更新1:由于@ShivaRaptor指出由于跨域安全限制,父JS无法修改iframe文档中的DOM结构。 - 这样可以处理试图修改页面DOM的malvertizer。

现在又剩下一个案例 - malvertizers只检测div上的位置并将其广告粘贴到我的广告位之上。是否会使包含DIV最大32位值的z-index阻止它们执行此操作?

2 个答案:

答案 0 :(得分:2)

如果此恶意软件是浏览器中的插件或扩展程序,那么您无法阻止他们修改您的页面。当用户允许将它们安装在浏览器中时,它们为任何类型的页面修改打开了大门。

首先,我建议你真的应该收集一些关于问题实际大小的指标,以确定它是否真的应该花费工程时间。我毫不怀疑你有关于这种情况的真实报道,但你知道你的观众实际上有多少受苦吗?如果它只是你观众的一小部分,那么你花在投资你的网站以吸引更多观众的时间比试图处理这一特定的恶意软件更好。

我能想到你可以做的事情是:

  1. 检测您的网页是否已按特定方式进行了修改,您可以撤消他们已完成的操作,删除/隐藏他们已注入的内容,或者只是尝试按照原来的方式恢复您的网页。
  2. 尝试在修改页面时检测插件是否已安装或处于活动状态,并警告您的查看者他们有正在修改网站的恶意软件,并提供有关如何删除恶意软件的说明。
  3. 详细了解您的观看者为何允许安装此恶意软件,并查看是否有某些教育或其他路径可以关闭以减少安装恶意软件的可能性。例如,如果它声称提供您的网站缺乏的一些好处,也许您需要该功能。

答案 1 :(得分:0)

一旦您的网页请求被填满并且您的服务器发送了它,那就是您拥有它的控制权结束。在客户端,任何和所有这些都可以更改,你无能为力。

这就是网络的本质。