例如,如果检测到 AdBlock plus,此功能会禁用,并且它可以工作。有没有办法绕过这个?
一些网站如何检测 AdBlock Plus?
信息安全
火狐
2021-09-08 08:11:43
1个回答
有许多脚本和项目可以帮助网站所有者检测 AdBlock Plus,但我认为您对它们的工作方式感兴趣。
这个想法很简单。该网站加载一个名为ads.js
(或 AdBlock Plus 认为“有吸引力”的任何其他名称)的 JavaScript 文件,其中包含:
var amIHere = document.createElement("div");
amIHere.setAttribute("id", "amIHere");
document.body.appendChild(amIHere);
如果您有 AdBlock Plus,那么它将阻止此脚本运行并且不会创建 div。然后他们使用一个通常命名的 JavaScript 文件,其中包含对 div 是否存在的简单检查
if (document.getElementById('amIHere')){
alert("You're Alright");
}else{
alert("You're using AdBlock Plus");
}
其他方法是加载具有 id 的 divads
或具有text-ads
AdBlock Plus 检测为广告并尝试隐藏的类,然后使用 JavaScript 检查 div 是否隐藏。
这将帮助您检测大多数 AdBlock Plus 用户,但由于此问题的性质(一切都发生在客户端),理论上,用户能够绕过您的所有检查和检测器。
作为“高级用户”,当我需要使用的网站告诉我必须禁用 Adblock Plus 时,我只需禁用它并在完成后启用它。我真的不想花时间和资源来寻找解决方法。因此,您可以假设绝大多数用户不会打扰。他们会因为你强迫他们禁用它而生气,但他们要么离开你的网站,要么只是禁用 AdBlock Plus。