2013-12-10 3 views
8

내 사이트에는 비밀번호로 보호 된 다른 사이트에 대한 링크가 포함 된 비밀번호로 보호 된 페이지가 있습니다. 나는 내가 운영하는 다른 사이트 중 하나에 HTML 코드를 삽입하고 페이지에 도착한 사람이 'Links Page'의 URL에서 참조되었는지 확인합니다.리퍼러 URL을 기반으로 리디렉션

는 (나는이 보안 옵션이 아니라는 것을 이해)

요약 :

If Referrer = 'Links Page URL' *then* Do nothing *Else* Redirect: www.google.com. 

사람이 내가 복사 할 수있는 간단한 HTML/자바 스크립트 코드를 알고 내 사이트에 붙여 넣기합니까 ?

답변

13
if (document.referrer !== "http://www.stackoverflow.com") { 
    window.location.href = "http://www.google.com"; 
} 

또는 정규 표현식을 사용하여 리퍼러를 확인할 수 있습니다.

어쨌든이 솔루션은 실제로는 안전하지 않습니다. 당신은 당신의 브라우저에서 자바 스크립트를 해제 할 수 있습니다 및 리디렉션되지 않습니다 ...

4

내가 나를 위해 작동하지 않습니다 document.referrer 발견이

function url(url){ 
     return url.match(/:\/\/(.[^/]+)/)[1]; 
    } 

    function check() 
    { 
     var ref = document.referrer; 
     if(url(ref) =='www.google.com') 
     { 
      // do something 
     } 
     else 
     { 
     // redirect 
     window.location.href = 'http://yourDomain.com'; 
     } 
    } 
-3

을 시도하지만, 같이 location.href 작동합니다

if (location.href != "http://yoursite/index.html") { 
    location.replace("http://yoursite/index.html"); 
} 
+1

'location.href'는 현재 페이지의 URL을 가져오고 요청 된 OP의 추천 페이지 URL은 가져 오지 않으므로이 질문에는 대답하지 않습니다. 나는 그 이유로 downvoted. – TheCarver