声明

本博客仅作技术交流。
尊重、鼓励站长优质内容的创作。
博主已将阮一峰的网络日志(http://www.ruanyifeng.com/blog/) 加入ABP白名单。

叨叨

在我们浏览一些网站的时候,有的网站会自动检测用户是否开启广告过滤的插件。检测完毕后,有的站长选择弹窗提示用户将其网站加入白名单;有的则直接清走或隐藏当前博文内容,直到用户将其网站加入白名单。
最近在浏览阮一峰的博客时,便遇到了第二种情况。

脚本的实现思路

那么,如何绕过类似的反广告过滤的脚本…
首先,我们查看一下这个功能是如何实现的。知己知彼,方能百战百胜。

继续查看这个js脚本的源码…

function checker() {var img = document.querySelector('img[src^="http://www.ruanyifeng.com/blog/images"]');if (img && window.getComputedStyle(img).display === 'none'){var sponsor = document.querySelector('.entry-sponsor');var prompt = document.createElement('div');prompt.style = 'border: 1px solid #c6c6c6;border-radius: 4px;background-color: #f5f2f0;padding: 15px; font-size: 16px;';prompt.innerHTML = '<p>鎮ㄤ娇鐢ㄤ簡骞垮憡鎷︽埅鍣紝瀵艰嚧鏈珯鍐呭鏃犳硶鏄剧ず銆�</p><p>璇峰皢 www.ruanyifeng.com 鍔犲叆鐧藉悕鍗曪紝瑙i櫎骞垮憡灞忚斀鍚庯紝鍒锋柊椤甸潰锛岃阿璋€�</p>';sponsor.parentNode.replaceChild(prompt, sponsor);document.querySelector('#main-content').innerHTML = '';}
}setTimeout(checker, 1000);

来看一下这个url(http://www.ruanyifeng.com/blog/images) 里面存放的是什么,如果我没猜错的话,是广告图片

至此,这个反广告过滤的实现思路就很清晰了:当我们加载进一篇含有广告的博文时,网站会首先加载checker.js这个脚本,脚本负责检测路径http://www.ruanyifeng.com/blog/images 中的广告图片是否被加载,如果没被加载,则清空博文内容并显示屏蔽提示。

绕过脚本的代码实现

首先,阮一峰的博客为静态博客。
其次,从上面的源码中我们能够发现,这个脚本有1s的延时: setTimeout(checker, 1000);
OK,我们开始入手。
打开油猴脚本,编写如下代码,直接取消所有计时器。

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://*/*
// @grant        none
// ==/UserScript==(function() {'use strict';// Your code here...for(let i = 0; i < 1000; i++) {clearTimeout(i);clearInterval(i);}
})();

绕过脚本的非代码实现

checker.js脚本的正常运行,需要依托浏览器正常运行JavaScript,我们直接禁止JavaScript的运行也是可以的,不过浏览体验就差了些。

绕过阮一峰网络日志的反广告过滤脚本相关推荐

  1. 阮一峰网络日志 第41期 2019年01月25日

    http://www.ruanyifeng.com/blog/2019/01/weekly-issue-41.html 声明:链接及文章内容为原博主阮一峰原创. 转载于:https://www.cnb ...

  2. 阮一峰网络日志 第36期 2018年12月21日

    http://www.ruanyifeng.com/blog/2018/12/weekly-issue-36.html 声明:链接及文章内容为原博主阮一峰原创. 转载于:https://www.cnb ...

  3. 借鉴--阮一峰博客之Jquery设计思想

    jquery常用方法--阮一峰博客借鉴 由于自身以前一直只是止步于看别人的博客,这是我的第一篇博客(感觉好高大上),这次博客我是借鉴于阮一峰网络日志关于Jquery设计思想的部分. 首先关于此篇博客我 ...

  4. 阮一峰老师博客爬取与博客文章存储持久化方式的思考

    阮一峰老师博客爬取与博客文章存储持久化方式的思考 前言 博客文章存储持久化思考 文本形式存储 html形式存储 pdf形式存储 博客爬取思路 爬取思路一 爬取思路二 个人选择 pdf存储 结尾 前言 ...

  5. linux 网络配置 阮一峰,计算机是怎样启动的? - 阮一峰的网络日志.pdf

    阮一峰的网络日志 » 首页 » 档案 分类: IT 技 上一篇:纪录片 <TPB AFK 分类: IT 技 上一篇:纪录片 <TPB AFK 术 下一篇:玉门人家照相馆 术 下一篇:玉门人 ...

  6. TF-IDF与余弦相似性的应用(一):自动提取关键词 - 阮一峰的网络日志

    TF-IDF与余弦相似性的应用(一):自动提取关键词 - 阮一峰的网络日志 TF-IDF与余弦相似性的应用(一):自动提取关键词 作者: 阮一峰 日期: 2013年3月15日 这个标题看上去好像很复杂 ...

  7. 理解OAuth 2.0 - 阮一峰的网络日志

    理解OAuth 2.0 - 阮一峰的网络日志 原文:理解OAuth 2.0 - 阮一峰的网络日志 理解OAuth 2.0 作者: 阮一峰 日期: 2014年5月12日 OAuth是一个关于授权(aut ...

  8. 计算机是如何启动的 阮一峰,计算机是如何启动的? - 阮一峰的网络日志.pdf

    计算机是如何启动的? - 阮一峰的网络日志.pdf 阮一峰的网络日志 » 首页 » 档案 分类: IT 技 上一篇:纪录片 <TPB AFK 分类: IT 技 上一篇:纪录片 <TPB A ...

  9. 计算机启动过程-阮一峰

    从打开电源到开始操作,计算机的启动是一个非常复杂的过程. 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示...... 这几天,我查了一些资料,试图搞懂它.下面就是我整理的笔记. 零 ...

最新文章

  1. 3.2.4 控制图层显示的范围
  2. 计算机培训专业中心架,国家高技能人才培养车工培训方案.doc
  3. java plug in错误_Eclipse启动失败 - 在安装BlackBerry Java Plug-in for Eclipse v1.3之后
  4. [NOIP2006] 数列
  5. C# does not contain a constructor that takes no parameter
  6. CDI和EJB:在事务成功时发送异步邮件
  7. 项目开发容易出错情况统计
  8. 使用IDEA创建springcloud父工程
  9. 安卓小程序 自定义下拉刷新_支付宝小程序设计设计指南
  10. Python Series库Api整理
  11. Python: str.split()和re.split()的区别
  12. 在Gutsy安装Freewins插件手记
  13. 【SSM】企业差旅管理系统-李兴华-专题视频课程
  14. python指数函数ks检验_python指数函数不正确的指数值
  15. GGSN与SGSN简介
  16. DDS作业(作业3)
  17. 昭和女神异闻录——中山美穗
  18. 分水岭算法java,C++实现分水岭算法(Watershed Algorithm)
  19. [python]用爬虫下载某站小说并生成epub格式电子书(用mkepub库)
  20. 详解码云和github上git生成SSH公钥

热门文章

  1. jQuery添加插入元素技巧
  2. 在PRESS.one这片蛮荒沃土上,我们都是拓荒者
  3. minio文件加密/文件切割合并
  4. 52o1314小符号_特殊名字符号(52o1314特殊上下组合小符号)
  5. Mac系统打不开appstore怎么办
  6. 动态规划(2.2)背包问题扩展
  7. 【20221220】Windows通过网线共享网络及小猫咪局域网共享
  8. 小猫咪图床源码,一款PHP超简洁本地图床
  9. [编程题] 困兽之斗
  10. jQuery移动端手机键盘输入车牌号代码【附加新能源车牌】