2013-12-10 3 views
8

На моем сайте у меня есть страница с защитой паролем, содержащая некоторые ссылки на другие сайты, которые также управляются мной, которые не могут быть защищены паролем. Я хотел бы поместить HTML-код на один из других сайтов, которые я использую, который проверяет, что лицо, прибывающее на страницу, было отправлено из URL-адреса «Страница ссылок».Переадресация на основе URL-адреса реферала

(Я понимаю, что это не безопасный вариант)

Резюме:

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

Кто-нибудь знает простой HTML/JavaScript код, который я могу скопировать и вставить в свой сайт ?

ответ

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

Или вы можете использовать регулярные выражения для проверки реферера.

В любом случае, это решение действительно, действительно опасно. Вы можете просто отключить JavaScript в вашем браузере, а не будет перенаправлен ...

4

Попробуйте

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

я нашел document.referrer не работает для меня, но location.href работы:

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

Это не отвечает на вопрос, так как «location.href» получает URL текущей страницы, а не URL страницы ссылки в качестве запрошенной OP. По этой причине я отказался. – TheCarver

Смежные вопросы