11

在我的站点中,我有一个受密码保护的页面,其中包含一些指向其他站点的链接,这些站点也是由我自己运营的,这些站点无法受密码保护。我想将 HTML 代码放在我运营的其他网站之一上,以检查到达该页面的人是否是从“链接页面”的 URL 引用的。

(我知道这不是一个安全的选择)

概括:

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

有谁知道我可以复制并粘贴到我的网站的简单 HTML/Javascript 代码?

4

3 回答 3

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

或者您可以使用正则表达式来检查引荐来源网址。

无论如何,这个解决方案真的非常不安全。您可以在浏览器中关闭 JavaScript 并且不会被重定向...

于 2013-12-10T19:00:24.503 回答
5

试试这个

    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';
      }
   }
于 2013-12-10T19:25:40.843 回答
-5

我发现 document.referrer 对我不起作用,但 location.href 有效:

if (location.href != "http://yoursite/index.html") {
    location.replace("http://yoursite/index.html");
}
于 2015-05-11T16:10:48.553 回答