让代码更简单

js判断搜索引擎蜘蛛屏蔽内容或进行跳转

重要:本文最后更新于2018-11-13 19:59:32,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

有些人可能会问,做站的谁不希望蜘蛛多来自己网站,用户多来自己网站逛会儿,谁还傻乎乎的把用户屏蔽掉,给他们看一个假的404页面呢。其实在很多灰色网站中,屏蔽用户进行跳转的手法用得很多,比如网站内容不健康,如果被发现了,很有可能会带来灾祸,这时屏蔽掉人的访问操作,只给机器看内容,人只能看到一个假的404页面,搜索引擎照样收录,一般人也看不见内容,安全第一。

复制
window.onload=function(){ 
 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))
{
}else{
	//$("body").css("display","none");
	$("body").html("准备覆盖的内容你可以改成跳转");
}

}

这段js的意思是在网页加载完成时执行上面的js代码,首先定义了很多搜索引擎的标识,比如百度(baidu)谷歌(Google)等等,如果有新增的,只需按照格式加在其中就可以了。然后通过js拿到referrer,再使用正则匹配上面的搜索引擎标识。再进行判断,如果匹配成功,就说明是来自于搜索引擎,否则就是用户访问。

在来一段使用字符串查找实现的js。

复制
<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("跳转地址或者改成你需要的逻辑")
</script>

意思差不多,只是将正则匹配改成了字符串查找indexof,这个方法如果找到了字符串就会返回字符串所在位置,否则就是-1,判断是不是-1来实现功能。

感觉很棒!可以赞赏支持我哟~

4 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐