2013-12-10 32 views
8

在我的網站中,我有一個密碼保護頁面,其中包含一些由我自己操作的其他網站的鏈接,這些網站不能被密碼保護。我想將HTML代碼放置在我操作的其他網站之一上,以檢查到達該網頁的用戶是否已從「鏈接頁面」的URL中引用。基於引薦來源網址的重定向

(據我所知,這不是一個安全的選擇)

摘要:

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

有誰知道一個簡單的HTML/Javascript代碼,我可以複製並粘貼到我的網站?

回答

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

或者您可以使用正則表達式來檢查引用者。

無論如何,這個解決方案真的非常不安全。你可以只關閉瀏覽器的JavaScript,並且不會被重定向...

4

試試這個

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

我發現document.referrer對我不起作用,但location.href作品:

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

這並沒有回答這個問題,因爲'location.href'獲取當前頁面的URL而不是OP請求的引用頁面的URL。我因爲這個原因而低估了。 – TheCarver