有些人可能会问,做站的谁不希望蜘蛛多来自己网站,用户多来自己网站逛会儿,谁还傻乎乎的把用户屏蔽掉,给他们看一个假的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来实现功能。