根据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判断录入的日期是否合法
Jan 08 Javascript
jquery动态增加text元素以及删除文本内容实例代码
Jul 01 Javascript
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
一看就懂:jsonp详解
Jun 01 Javascript
解析javascript瀑布流原理实现图片滚动加载
Mar 10 Javascript
聊一聊JS中的prototype
Sep 29 Javascript
angular实现spa单页面应用实例
Jul 10 Javascript
Vue2.0 http请求以及loading展示实例
Mar 06 Javascript
详解react native页面间传递数据的几种方式
Nov 07 Javascript
利用原生JavaScript实现造日历轮子实例代码
May 08 Javascript
Javascript三种字符串连接方式及性能比较
May 28 Javascript
微信小程序pinker组件使用实现自动相减日期
May 07 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
Yii实现简单分页的方法
2016/04/29 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
强制设为首页代码
2006/06/19 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
[03:58]2014DOTA2国际邀请赛 龙宝赛后解密DK获胜之道
2014/07/14 DOTA
Python中optparse模块使用浅析
2015/01/01 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
python能做什么 python的含义
2019/10/12 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
python3爬取torrent种子链接实例
2020/01/16 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
实习求职信
2013/12/01 职场文书
质量负责人岗位职责
2015/02/15 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏