2013-12-10 19 views
8

In meiner Website habe ich eine passwortgeschützte Seite mit einigen Links zu anderen Seiten, die auch von mir betrieben werden und die nicht mit einem Passwort geschützt werden können. Ich möchte einen HTML-Code auf einer der anderen Websites platzieren, die ich überprüft, dass die Person, die auf der Seite ankommt, von der URL der 'Links Page' verwiesen wurde.Umleitung basierend auf Referrer URL

(Ich verstehe, dass dies nicht eine sichere Option ist)

Zusammenfassung:

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

Kennt jemand einen einfachen HTML/Javascript-Code, den ich in meiner Website kopieren und einfügen ?

Antwort

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

Oder Sie können den Referrer mit regulären Ausdrücken überprüfen.

Wie auch immer, diese Lösung ist wirklich, wirklich unsicher. Sie können einfach JavaScript in Ihrem Browser deaktivieren und nicht umgeleitet werden ...

4

Versuchen Sie, diese

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

ich document.referrer gefunden hat bei mir nicht funktioniert, aber location.href funktioniert:

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

Dies beantwortet die Frage nicht, da 'location.href' die URL der aktuellen Seite und nicht die URL der verweisenden Seite als OP angefordert wird. Aus diesem Grund habe ich das abgelehnt. – TheCarver