对付垃圾网站和恶意IP的小技巧
现在的垃圾网站很多,动不动就采集别人的文章,本文介绍一个小技巧,让这些垃圾网站无法重复采集你的网站或博客。
其实这个办法技术很简单,我觉得主要是创意不错!
具体办法就是,判断访客来路IP,如果他的IP地址被你列入了黑名单,那么我们并不是简单的拒绝他的访问,那样太明显了,一眼就能看出来,甚至会让他很愤怒,虽然他是个垃圾站的采集者。最好的办法就是欺骗他,让他以为我的网站域名解析错误了。这个想法的来源是,晚上登录poshi和其他几个博客网站时,经常会被转到114去。我们何不也这么做呢?
具体技术如下:在header.php文件的头几行加上如下代码:
<?php function getIP() {
$ip;
if(getenv(”REMOTE_ADDR”)) $ip = getenv(”REMOTE_ADDR”);
else if(getenv(”HTTP_CLIENT_IP”)) $ip = getenv(”HTTP_CLIENT_IP”);
else if(getenv(”HTTP_X_FORWARDED_FOR”)) $ip = getenv(”HTTP_X_FORWARDED_FOR”);
else $ip = “UNKNOWN”;
return $ip;
}?>
<?php
$yourip = getIP();
if( $yourip == “222.220.163.134″ ){
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://search.114.vnet.com/” );
exit();
}
?>
这段代码的意思是:如果访客IP地址是222.220.163.134,那么就跳转到114搜索页去。这里用的是301重定向,用302也行,反正搜索引擎的蜘蛛IP不是这个。(部分字符需要替换为半角才可使用)
现在我的header.php里其实已经加上这几行代码了。所以在此郑重提醒一些恶意访客,如果继续采集我的文章,你将遭到同样的待遇!
0 我顶!
2008-7-05 7:37 pm
Black-Xstar:谢谢指正,对是劫持。
我的意思不是禁止访问,那样他会发现,并且用代理服务器就可以了。
我是要他去114,这样他就会以为是网站的问题,想不到其实是自己的IP被屏蔽了
2008-7-05 7:47 pm
你为了遏制他们 算是花了大量精力了…
2008-7-05 8:08 pm
yacca:偶然想到的,不是特意去想的。
poshi:莫非有人替你写了?哈哈,开个玩笑。
2008-7-05 8:23 pm
应该是个好的办法。
2008-7-06 9:06 am
不错……技术贴……
@@
2008-7-06 10:14 pm
最好的办法是判断 在短时间内访问的频率是不是比较快,快的话列入禁止IP. 这样IP才有效果。
2008-7-06 10:18 pm
飞鱼的主意不错!可惜目前我不会实现,争取有一天能够实现,三分钟内访问超过十个独立页面的,立刻封掉。。。