Первоначально опубликовано на JavaScript - я рекомендатель?
Когда кто-то заходит на наш сайт в первый раз, мы сохраняем ссылку в файле cookie. Таким образом, если они загрузят нашу демо-версию, мы сможем получить исходный реферер из куки-файла и узнаем, какие сайты эффективны в управлении, что ведет к нам.
Конечно, каждая последующая страница, которую посетитель посещает на нашем сайте, будет показывать реферрера как наш сайт. Мы не хотим этого. Что мы сначала сделали, чтобы избежать этого, так это искали текст «наветренный» в реферере и, если это так, предположим, что он был с нашего сайта. Проблема в том, что мы обнаружили, что многие URL-адреса реферера теперь имеют наветренную сторону, либо в качестве поискового запроса, либо в качестве части URL-адреса, который говорит о Windward. (Это хорошая новость, это значит, что мы теперь хорошо известный продукт.)
Так что это привело меня к нашему последнему подходу. Это должно работать для любого сайта и отклонять рефереров только с того же сайта.
function IsReferredFromMe()
{
var ref = document.referrer;
if ((ref == null) || (ref.length == 0)) {
return false;
}
if (ref.indexOf("http://") == 0) {
ref = ref.substring(7);
}
ref = ref.toLowerCase();
var myDomain = document.domain;
if ((myDomain == null) || (myDomain.length == 0)) {
return false;
}
if (myDomain.indexOf("http://") == 0) {
myDomain = myDomain.substring(7);
}
myDomain = myDomain.toLowerCase();
return ref.indexOf(myDomain) == 0;
}