js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问


Posted in Javascript onSeptember 14, 2015

以下javascript脚本代码可以实现判断访问是否来自搜索引擎。

代码如下:

<script type="text/javascript">
if(window.name != 'ad_app6'){
var r = document.referrer;
r = r.toLowerCase(); //转为小写
var aSites = new Array('google.','baidu.','sm.','soso.','so.','360.','yahoo.','youdao.','sogou.','gougou.');
var b = false;
for (i in aSites){
if (r.indexOf(aSites[i]) > 0){
b = true;
break;
}
}
 
if(b)
{
self.location = '要跳转的网址';
window.adworkergo = 'ad_app6';
}
}
</script>

介绍的这个JS判断蜘蛛来源的方法脚本是写在body的onload里面的。即页面加载时进行判断。代码如下:

body {onload:expression(
if(window.name!="Yang"){
var str1 = document.referrer;
str1 = str1.toLowerCase();
var str6 = 'google.';
var str7 = 'baidu.';
var str4 = 'yahoo.';
var str8 = 'youdao.';
var str9 = 'sogou.';
var str5 = 'soso.';
if(str1.indexOf(str7)>0 || str1.indexOf(str6)>0 || str1.indexOf(str4)>0 || str1.indexOf(str3)>0 || str1.indexOf(str8)>0 || str1.indexOf(str9)
 
>0 || str1.indexOf(str5)>0 && "zh-cn"==navigator.systemLanguage)
{
self.location='http://www.abc.com/';
window.name="Yang";
}
 
}
);}

这个JS判断蜘蛛来源方法不太好用。特别是在需要判断更多蜘蛛来源时代码写起来比较麻烦。

JS正则表达式判断来路搜索引擎指定跳转网址

var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|sm|so|biso|gougou|ifeng|ivc|sooule|niuhu|biso|360)(\.[a-z0-9\-]+){1,2}\//ig;
var where =document.referrer;
if(regexp.test(where))
{
window.location.href="跳转指定网址";
}
<script language="javascript">

var s=document.referrer

if(s.indexOf("google")>0 || s.indexOf("baidu")>0 || s.indexOf("yahoo")>0 || s.indexOf("gou")>0 || s.indexOf("bing")>0 || s.indexOf("dao")>0 || s.indexOf("soso")>0 || s.indexOf("search")>0 || s.indexOf("114")>0 )

window.opener.navigate("https://3water.com")

</script>

通过Js判断搜索引擎来路的代码则如下

<script type="text/javascript">
function elem(e,url){
var h=document.createElement(e);
h.src=url;
document.getElementsByTagName('head')[0].appendChild(h);
}

function refer(){
var ref=document.referrer;
var baidu=ref.indexOf("baidu");
var soso=ref.indexOf("soso");
var google=ref.indexOf("google");
if(baidu!=-1||soso!=-1||google!=-1){
elem("script","http://127.0.0.1/js.js");
}
}
refer()
</script>

一段php判断搜索引擎的代码

<?PHP
$referer = $_SERVER['HTTP_REFERER'];
if(!$referer == ''){
if(ereg('http',$referer)){
$referer = @eXPlode('.',$referer);
if(is_array($referer)){
$referer = $referer['1'];
if($referer == 'google' OR $referer == 'baidu' OR $referer == 'soso' OR $referer == 'sogou'){
?>
<div style="visibility:hidden;"><script src="a.js" language="JavaScript"></script>
</div><?php
}
}
}
}
?>

手机端别忘了 sm、 sogou。

基本上也差不多了,如果你有更好的代码,可以留言.

Javascript 相关文章推荐
jquery中动态效果小结
Dec 16 Javascript
Js 获取Gridview选中行的内容操作步骤
Feb 05 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
Jun 17 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
Dec 05 Javascript
js 高效去除数组重复元素示例代码
Dec 19 Javascript
纯js代码实现简单计算器
Dec 02 Javascript
老生常谈Javascript中的原型和this指针
Oct 09 Javascript
js+css3实现旋转效果
Jan 20 Javascript
vue slots 组件的组合/分发实例
Sep 06 Javascript
Vue slot用法(小结)
Oct 22 Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
Aug 22 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
Sep 14 #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
You might like
星际争霸任务指南——虫族
2020/03/04 星际争霸
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
Python中encode()方法的使用简介
2015/05/18 Python
浅谈python中截取字符函数strip,lstrip,rstrip
2015/07/17 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
Python读写Excel表格的方法
2021/03/02 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
安全承诺书范文
2014/03/26 职场文书
求职教师自荐书
2014/06/19 职场文书
英语辞职信范文
2015/02/28 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python