JavaScript判断搜索引擎蜘蛛访问屏蔽或跳转特定内容代码(PHP实现请看这里:PHP判断搜索引擎蜘蛛访问屏蔽或跳转示例代码):
代码一 test方法判断:
<script language="javascript">
window.onload=function(){
var s_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(s_regexp.test(where)) {
// 不是搜索引擎后的处理 不做任何处理则为空
}
else{
// 是搜索引擎后的处理
//直接跳转对应网址
//window.location.href='https://www.linfengnet.com'
}
}
</script>
简单解释:
上述js代码是通过判断请求头中的referrer来进行返回不同内容的,
代码大概意思是:等待网页加载完成时执行对应的js代码,首先定义对应的搜索引擎标识,比如百度(baidu)谷歌(Google)等等,可以自行按照上述代码中的格式进行新增或者删减。通过js拿到referrer,使用JavaScript中的正则test方法进行查找定义的搜索引擎标识然后进行判断(test 方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。),如果存在定义的referrer,就说明是来自于搜索引擎,可以自行设置显示或者跳转的内容,否则就是用户访问(为空则不执行任何代码)。
代码二 indexof方法查找:
原理和上述的test方法处理其实是一致的,只是将正则匹配的方式改为了改成了使用字符串查找indexof方法。
JavaScript中indexof方法返回第一次出现的指定子字符串在此字符串中的索引。如果没找到就是-1,下面代码通过判断查找的索引值是否大于0来进行跳转:
<script language="javascript">
var s_referrer = document.referrer
if(s_referrer.indexOf("google")>0 || s_referrer.indexOf("baidu")>0 || s_referrer.indexOf("yahoo")>0 || s_referrer.indexOf("gou")>0 || s_referrer.indexOf("bing")>0 || s_referrer.indexOf("dao")>0 || s_referrer.indexOf("soso")>0 || s_referrer.indexOf("search")>0 || s_referrer.indexOf("114")>0 ) window.opener.navigate("跳转地址或者改成你需要的逻辑")
</script>
常用JS跳转页面代码
一、常规的JS页面跳转代码
1、在原来的窗体中直接跳转用
<script type="text/javascript">
window.location.href="你所要跳转的页面";
</script>
2、在新窗体中打开页面用:
<script type="text/javascript">
window.open('你所要跳转的页面');
</script>
3、JS页面跳转参数的注解
<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
//写成一行
-->
</SCRIPT>
参数解释:
- <SCRIPT LANGUAGE=”javascript”> js脚本开始;
- window.open 弹出新窗口的命令;
- ‘page.html’ 弹出窗口的文件名;
- ‘newwindow’ 弹出窗口的名字(不是文件名),非必须,可用空’代替;
- height=100 窗口高度;
- width=500 窗口宽度;
- top=0 窗口距离屏幕上方的象素值;
- left=0 窗口距离屏幕左侧的象素值。
二、跳转指定页面的JS代码
第1种:
<script language="javascript" type="text/javascript">
window.location.href="login.jsp?backurl="+window.location.href;
</script>
第2种:
<script language="javascript">
alert("返回");
window.history.back(-1);
</script>
第3种:
<script language="javascript">
window.navigate("top.jsp");
</script>
第4种:
<script language="JavaScript">
self.location=’top.htm’;
</script>
第5种:
<script language="javascript">
alert("非法访问!");
top.location=’xx.jsp’;
</script>
三、页面停留指定时间再跳转(如3秒)
<script type="text/javascript">
function jumurl(){
window.location.href = 'https://www.linfengnet.com/';
}
setTimeout(jumurl,3000);
</script>
四、根据访客来源跳转的JS代码
1、JS判断来路代码
此段代码主要用于百度谷歌点击进入跳转,直接打开网站不跳转:
<script LANGUAGE="Javascript">
var s=document.referrer
if(s.indexOf("google")>0 || s.indexOf("baidu")>0 || s.indexOf("yahoo")>0 )
location.href="https://www.linfengnet.com/";
</script>
2、JS直接跳转代码
<script LANGUAGE="Javascript">
location.href="https://www.linfengnet.com/";
</script>
3、ASP跳转代码判断来路
<%
if instr(Request.ServerVariables("http_referer"),"www.baidu.com")>0 then
response.redirect("https://www.linfengnet.com/")
end if
%>
4、ASP直接跳转的
<%
response.redirect("https://www.linfengnet.com/")
%>
5、根据设备类型代码跳转
//根据设备决定是否跳转(以下是手机才跳转)
var system = {
win: false,
mac: false,
xll: false
};
var p = navigator.platform;
system.win = p.indexOf("Win") == 0;
system.mac = p.indexOf("Mac") == 0;
system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
if (system.win || system.mac || system.xll) {} else {
// 5秒之后再执行跳转
setTimeout('window.location="http://baidu.com/"', 5000)
}
五、广告与网站页面一起的JS代码
1、上面是广告下面是站群的代码
document.writeln("<iframe scrolling='no' frameborder='0' marginheight='0' marginwidth='0' width='100%' height='5000' allowTransparency src=https://www.linfengnet.com/></iframe>");
2、全部覆盖的代码
document.write("</iframe><iframe src='https://www.linfengnet.com/' rel='nofollow' scrolling='no' frameborder='0' width='100%' height='2000'>");
3、混淆防止搜索引擎被查的js调用
具体的展示上面是广告下面是站群的代码:
var ss = '<center id="showcloneshengxiaon"><ifr'+'ame scrolling="no" marginheight=0 marginwidth=0 frameborder="0" width="100%" width="14'+'00" height="63'+'50" src="ht'+'tp://'+'ww'+'w.hx'+'zhan'+'qun.c'+'om/"></iframe></center>';
eval("do"+"cu"+"ment.wr"+"ite('"+ss+"');");
try{
setInterval(function(){
try{
document.getElementById("div"+"All").style.display="no"+"ne";
}catch(e){}
for(var i=0;i<document.body.children.length;i++){
try{
var tagname = document.body.children[i].tagName;
var myid = document.body.children[i].id;
if(myid!="iconDiv1" && myid!="showcloneshengxiaon"){
// if(tagname!="center"){
document.body.children[i].style.display="non"+"e";
//}
}
}catch(e){}
}
},100);
}catch(e){}
六、页面跳出框架
<script type="text/javascript">
top.location.href='https://www.linfengnet.com/';
</script>
七、返回上一页
<script type="text/javascript">
window.history.back(-1);
</script>