11

In my site I have a password protected page containing some links to other sites also operated by myself that cannot be password protected. I would like to place a HTML code onto one of the other sites I operate that checks that the person arriving at the page has been referred from the URL of the 'Links Page'.

(I understand that this is not a secure option)

Summary:

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

Does anyone know a simple HTML/ Javascript code that I can copy and paste into my site?

JBithell
  • 627
  • 2
  • 11
  • 27

3 Answers3

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

Or you can use regular expressions to check the referrer.

Anyway, this solution is really, really unsafe. You can just turn off JavaScript in your browser and won't be redirected...

Martin Majer
  • 3,274
  • 4
  • 23
  • 36
5

Try this

    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';
      }
   }
Voonic
  • 4,667
  • 3
  • 27
  • 58
-5

I found document.referrer doesn't work for me, but location.href works:

if (location.href != "http://yoursite/index.html") {
    location.replace("http://yoursite/index.html");
}
  • 5
    This doesn't answer the question, as `location.href` gets the current page's URL and not the referring page's URL as the OP requested. I downvoted for that reason. – TheCarver Jul 09 '16 at 01:50