Javascript 基于参考URL的重定向

Javascript 基于参考URL的重定向,javascript,html,redirect,referrer,refer,Javascript,Html,Redirect,Referrer,Refer,在我的网站上,我有一个密码保护的页面,其中包含一些指向其他网站的链接,这些网站也是我自己操作的,不能被密码保护。我想把一个HTML代码放在我操作的其他网站上,检查到达页面的人是否已从“链接页面”的URL引用 (我理解这不是一个安全的选择) 摘要: If Referrer = 'Links Page URL' *then* Do nothing *Else* Redirect: www.google.com. 有人知道一个简单的HTML/Javascript代码,我可以复制并粘贴到我的网站上吗

在我的网站上,我有一个密码保护的页面,其中包含一些指向其他网站的链接,这些网站也是我自己操作的,不能被密码保护。我想把一个HTML代码放在我操作的其他网站上,检查到达页面的人是否已从“链接页面”的URL引用

(我理解这不是一个安全的选择)

摘要:

If Referrer = 'Links Page URL' *then* Do nothing *Else* Redirect: www.google.com.
有人知道一个简单的HTML/Javascript代码,我可以复制并粘贴到我的网站上吗

if (document.referrer !== "http://www.stackoverflow.com") {
    window.location.href = "http://www.google.com";
}
或者您可以使用正则表达式来检查推荐人

无论如何,这个解决方案是非常非常不安全的。您只需关闭浏览器中的JavaScript,就不会被重定向…

试试这个

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

我发现document.referer不适用于我,但location.href适用于:

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

这并不能回答问题,因为
location.href
获取当前页面的URL,而不是OP请求的引用页面的URL。我为此投了反对票。