让你的网站防广告屏蔽

前言

相信小伙伴们对广告是又爱又恨,一方面不想接受广告的荼毒,另一方面也想接点广告赚点流量收益。由此而来衍生出了两个技术,屏蔽广告与防屏蔽广告。

2020-04-14T09:05:00.png
屏蔽广告

2020-04-14T09:07:07.png
防屏蔽

原理

我们要想做到网站广告不被人屏蔽,首先就要理解屏蔽广告的原理。

1.初阶屏蔽

含ad,推广等字样的js或者class类就直接拦截或者不显示

2.高阶屏蔽

我也不会,但是高阶屏蔽肯定是可以屏蔽低阶广告的。

那么根据这个原理,我们可以发现。只要我们写一个很low很low的广告,然后监听它是否成功加载,如果没有,则跳转页面或者不显示内容。

实现

1. 制造广告

先写一个一眼就能看出来是广告的js文件,例如把js文件名命名
为"adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.js"。广告二字赤裸裸的写着,广告的韵味呼之欲出。

2. 定义变量

在js里面定义一个变量,比如:

var adskilltest=true;

3. 监听广告变量

页面文件中读取该变量

不管怎么样,只要被拦截,那就肯定是undefined。让个极其肤浅的广告命名,来检测是否有屏蔽广告,这叫引蛇出洞!

2020-04-14T09:20:46.png

大功告成!

4. 后续操作

既然被拦截,就要做出点反应。有了反应之后呢,还需要保存当时浏览的页面连接。我的解决方法是写一个noads.html负责显示被拦截后的内容以及保存跳转前的链接。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>温馨提示</title>
</head>
<body>
<p>网站内容被识别为广告,已被屏蔽。请禁用广告屏蔽后点击下面链接哦!</p>
<a href="#" id="a">我已关闭广告屏蔽功能</a>
</body>
<script>
	function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}
document.getElementById("a").href = getQueryVariable('route');
</script>
</html>

tips: 该方法不是最优,但是可行!

版权声明: (https://www.thinkmoon.cn/post/816)
本文首发于指尖魔法屋-让你的网站防广告屏蔽
转载或引用必须申明原指尖魔法屋来源及源地址!