阅读:5901回复:14
某国外站长的发明--封住那些用Adblock的人 -_-!
原址:http://www.cnbeta.com/articles/37214.htm
看上去挺强的 这几天国外有一个宣扬使用Firefox+Adblock的人都是不尊重站长劳动的“盗贼”的站点 http://whyfirefoxisblocked.com/ 在Digg上遭到了强大的恶评(http://www.digg.com/software/Why_Firefox_is_blocked ,近千条评论!),而这个站长写了一些封锁Firefox、尝试通过使用假广告来检测Adblock的存在的本地和远程代码。国内某些站长可以考虑参考一下了。 检测Adblock存在的本地Javascript代码: <img src="/fake.adbrite.gif" id="fakeAd" /><!-- 1x1 pixel image --> <script language="javascript"> function checkAdBlock() { var img = document.getElementById('fakeAd'); if (img && (img.style.display == 'none' || img.style.visibility == 'hidden')) { window.location = 'http://myDomain.com/thief.htm'; } } setTimeout('checkAdBlock()', 2000); </script> 这段代码通过使用一个虚假的广告图片,如果发现该图片为不显示和隐藏的,就判定用户使用了封锁广告的软件。 <script> function dieAdBlockPlusDie() { var giframe = document.getElementsByTagName("iframe"); var bod = document.getElementsByTagName("body"); var blocked=1; for (var i = 0; i < giframe.length; i++) { var name = giframe.getAttribute("name"); if(name == "google_ads_frame") { var blocked=0; } } if(blocked) { bod[0].innerHTML = '<p align="center"><font face="Century Gothic"><b>This page cannot be displayed because ad blocking software has been detected.</b></font></p>';} } setTimeout('dieAdBlockPlusDie()', 2000); </script> 而这一段则是对于那些尝试屏蔽Google Adsense的用户的。 至于检测Firefox,该站长提供了两种代码: 1、服务器端检测User-Agent <? $userAgent=$_SERVER['HTTP_USER_AGENT']; if(stristr($userAgent, 'firefox')) { header("Location: [place URL of explanation page here]"); exit(); } else {include("[place new name of article.php here.]");} ?> 这段PHP代码简单易懂,对于那些不会修改User-agent的用户很有用。 2、本地检测DOM <script> if(!document.all){window.location='http://whyfirefoxisblocked.com/';} </script> <noscript> <meta http-equiv="refresh" content="1;URL=/nojs.htm"> </noscript> 其中的URL和nojs.htm可以任意修改。这段代码不通过user-agent而通过检测本地浏览器的DOM,但是它将不仅影响Firefox,而影响一切Gecko引擎和WebKit引擎的浏览器(K-Meleon、Camino、Safari等)。 另外,善意提醒大家广告收入是网站运营的基本保证,过滤广告是浏览者的自由,但对于网站方来说是相当不愿意看到的,以上的代码就是明证,因此也请大家有选择地过滤掉严重影响浏览的广告,更多的应该支持站点发展. |
|
|
1楼#
发布于:2007-08-24 15:42
恩,不去他的网站就好了
|
|
2楼#
发布于:2007-08-24 15:42
不封办不到,广告太恶心。
话说那些本地脚本的,还是不在话下的。 和用户为敌是没有前途的。 |
|
|
3楼#
发布于:2007-08-24 15:42
观望何时传到国内
![]() |
|
4楼#
发布于:2007-08-24 15:42
把这脚本过滤了就没问题了吧,而且国内那帮人都是照搬别人的模板,肯定不会理解Javascript。
ADP主要对付国内的哪些影响视力的广告。 |
|
5楼#
发布于:2007-08-24 15:42
让他的站自然烂掉吧
|
|
|
6楼#
发布于:2007-08-24 15:42
我很变态:我连网站的Logo都要过滤!我自豪呀!
|
|
|
7楼#
发布于:2007-08-24 15:42
|
|
8楼#
发布于:2007-08-24 15:42
是的,在Mozillazine也引来了不少讨论。
无视掉吧,没有什么值得关心的。 其实这么久似乎我自己都不太关心我的ABP阻止了什么广告了。 |
|
|
9楼#
发布于:2007-08-24 15:42
我讨厌一切广告,再穷也不会让我的网站上挂广告,又难看又恶心
|
|
10楼#
发布于:2007-08-24 15:42
有些广告其实还可以,但有些在那儿警灯似的乱闪实在忍无可忍
|
|
|
11楼#
发布于:2007-08-24 15:42
noscript飘过后
1、服务器端检测User-Agent <? $userAgent=$_SERVER['HTTP_USER_AGENT']; if(stristr($userAgent, 'firefox')) { header("Location: [place URL of explanation page here]"); exit(); } else {include("[place new name of article.php here.]");} ?> 这个逃不掉。 |
|
|
12楼#
发布于:2007-08-24 15:42
我还是决定关掉ADB...然后把载入图像的钩钩去掉。。
|
|
|
13楼#
发布于:2007-08-24 15:42
以前也有个什么 chemical 的网站试过。用 proxomitron 等 filter 很容易解决。
|
|
|
14楼#
发布于:2007-08-24 15:42
|
|