web-dev-qa-db-fra.com

Redirection basée sur l'URL de référence

Sur mon site, j'ai une page protégée par mot de passe contenant des liens vers d'autres sites également exploités par moi-même qui ne peuvent pas être protégés par mot de passe. Je voudrais placer un code HTML sur l'un des autres sites que j'exploite qui vérifie que la personne arrivant sur la page a été référencée à partir de l'URL de la 'Page des liens' .

(Je comprends que ce n'est pas une option sécurisée)

Résumé:

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

Quelqu'un connaît-il un simple code HTML/Javascript que je peux copier et coller dans mon site?

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

Ou vous pouvez utiliser des expressions régulières pour vérifier le référent.

Quoi qu'il en soit, cette solution est vraiment, vraiment dangereuse. Vous pouvez simplement désactiver JavaScript dans votre navigateur et ne serez pas redirigé ...

18
Martin Majer

Essaye ça

    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';
      }
   }
5
Shadow