»
首页
|
手机数码
|
汽车资讯
|
游戏硬件
|
评测专题
|
手机壁纸
|
海淘值得买
|
度假
|
求职招聘
|
广告联系
» 您尚未登录:请
登录
|
注册
|
标签
|
帮助
|
小黑屋
|
TGFC Lifestyle
»
完全数码讨论区
» 某国外站长的发明--封住那些用Adblock的人
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
[电脑]
某国外站长的发明--封住那些用Adblock的人
sarion
沙少
大都督
永不叛党
帖子
94050
精华
1
积分
52608
激骚
1238 度
爱车
主机
相机
手机
注册时间
2002-12-29
发短消息
加为好友
当前在线
1
#
大
中
小
发表于 2007-8-24 20:51
只看该作者
这几天国外有一个宣扬使用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等)。
另外,善意提醒大家广告收入是网站运营的基本保证,过滤广告是浏览者的自由,但对于网站方来说是相当不愿意看到的,以上的代码就是明证,因此也请大家有选择地过滤掉严重影响浏览的广告,更多的应该支持站点发展.
UID
7367
帖子
94050
精华
1
积分
52608
交易积分
14
阅读权限
50
在线时间
11725 小时
注册时间
2002-12-29
最后登录
2025-8-14
查看详细资料
TOP
控制面板首页
密码修改
积分交易
积分记录
公众用户组
基本概况
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计