Redirect based on referrer URL

蹲街弑〆低调 提交于 2019-11-27 05:55:41

问题


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?


回答1:


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...




回答2:


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



回答3:


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");
}


来源:https://stackoverflow.com/questions/20502908/redirect-based-on-referrer-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!