js_javascript 기술로 주요 브라우저와의 리퍼러 호환성 문제를 해결하는 방법

WBOY
풀어 주다: 2016-05-16 16:32:17
원래의
1532명이 탐색했습니다.

HTTP 헤더 리퍼러는 주로 내가 어디에서 왔는지, 즉 어떤 페이지에서 왔는지 알려주는 역할을 하며, 이 웹사이트를 방문하는 사용자의 출처를 파악하는 데 사용될 수도 있고, 핫링크를 방지하는 데에도 사용될 수 있습니다. 이를 얻는 가장 좋은 방법은 js입니다. 서버 측에서 얻는 경우($_SERVER['HTTP_REFERER']와 같은 PHP 방법), 사람들은 이를 위조할 수 있습니다. 사람들이 위조하기가 어렵습니다.

방법: js의 document.referer 방법을 사용하여 웹페이지의 실제 출처를 정확하게 판별합니다. 현재 바이두 통계, 구글 광고 통계, CNZZ 통계 모두 이 방법을 사용하고 있습니다. 안티 핫링크도 매우 간단합니다. 소스 URL이 js로 판단되고 이 사이트의 URL이 아닌 경우 사진이 표시되지 않습니다.

우리 모두 알고 있듯이, 우리 웹 개발자는 IE가 표준을 지원하지 않고 표준을 벗어난 기본 동작이 다른 브라우저와 일치하지 않는 경우가 많기 때문에 IE를 싫어합니다.

IE에서 점프하려면 javascript를 사용하세요. 예를 들어 window.location.href = ""를 사용하세요. Google이 document.referrer를 사용하는 경우 IE가 이를 삭제했기 때문에 브라우저에서 요청한 HTTP 리퍼러를 가져올 수 없습니다.

다른 주류 브라우저인 Firefox와 Chrome은 리퍼러를 유지할 방법이 없습니다. 이는 IE가 다시 "사무적" 특별 대우를 누릴 것이라는 의미입니다.

다음 코드는 IE에서 이 문제를 해결할 수 있습니다.
//IE 브라우저인지 감지한 후 수동으로 리퍼러를 추가하세요
원칙은 비밀리에 IE 브라우저 페이지에 링크를 추가한 다음 자동으로 링크를 클릭하여 참조 페이지를 유지할 수 있도록 하는 것입니다.

코드 복사 코드는 다음과 같습니다.

var url = 'http://www.jb51.net'
if (/MSIE (d .d );/.test(navigator.userAgent) || /MSIE(d .d );/.test(navigator.userAgent))
{
var ReferLink = document.createElement('a')
​ ReferLink.href = URL;
Document.body.appendChild(referLink)
​ ReferLink.click();
}
그렇지 않으면
{
위치.href = URL
}
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿