使用Adblock屏蔽反adblock屏蔽插件

浏览某些网页时,总会弹出禁用 Adblock 的全屏提示:如果不禁用 Adblock / 不将网站添加到白名单,就不允许浏览其内容。
原由
控制网页显示内容是用户的权利! 我并不反对网页内嵌广告,但我反对网站强迫用户二选一的行为。
对于有优质内容产出的站点,强制用户二选一还勉强说得过去;对于采集/机翻类型的内容农场站点,二选一让人无法接受。
这种弹窗提示不可关闭(实际其插件支持弹窗可关闭/不可关闭配置),且全屏模糊整个页面,强迫用户添加网站白名单或禁用插件,剥夺了用户自由控制显示内容的权利。
对于这种强制且不可关闭的弹窗提示,一个方法是使用 AdBlock / AdBlock Plus 屏蔽其 js 加载。
反屏蔽插件原理
大部分 WordPress 网站使用的反屏蔽插件都是 deblocker,这款插件检测原理非常简单:创建一个 0 大小且具有广告 ID 的元素插入到文档中,大多情况下, AdBlock 会直接隐藏该元素,反屏蔽插件通过实时检测元素 display 来判断是否使用了屏蔽插件。
当插件检测到假元素被屏蔽后,将会创建一个随机名称、随机 ID 、随机样式名的遮罩元素,并设置该元素的 css 以模糊整个页面。当你手动删除该元素后,其又会创建一个同样的随机遮罩,无限循环。
另外多说一句,该插件后台是提供弹窗可关闭/不可关闭的控制选项的,对于配置为弹窗可关闭的网站,用户可以手动关闭该弹窗;对于配置为弹窗不可关闭的网站,用户无法关闭弹窗,换句话说,你无法在开启屏蔽插件的情况下浏览内容。
屏蔽
本人使用Adblock Plus
为例说明如何屏蔽该弹窗,对于Adblock
等软件,原理相同。
首先确定反屏蔽原理。deblocker
插件通过ads.js
与deblocker.js
进行反屏蔽工作,其中前者内容是创建假元素,后者内容是执行检测与弹窗。
打开 Adblock Plus 设置,在自定义屏蔽列表中加入如下内容(三选一,酌情修改):
# (三选一)
deblocker/js/
# 或(三选一)
baidu.com/*/deblocker/js/
# 或 (三选一)
baidu.com/*/deblocker/js/ads.min.js
baidu.com/*/deblocker/js/deblocker.min.js
如果插件路径发生变化,则按需更新屏蔽路径即可。
其他
对于其他类型的反屏蔽软件,原理是通用的。只需要找到反屏蔽逻辑,对症下药即可。
如果某些站点将检测逻辑写入网站主 js 模块中,则可以使用油猴编写对应脚本,阻止或直接覆盖其检测逻辑。
这个不错。真是一层窗户纸。
呜呜呜,兔子居然还在更新,不愧是秃子
我超,梓喵