Браузер шлет не корректный HTTP_REFERER?

Falc

Новичок
Браузер шлет не корректный HTTP_REFERER?

Ситуация следующая:
У меня есть счетчик, он вставляется на страницу примерно так:
<img scr=example.com/script.php>
Чтобы узнать с какой страницы был загружен мой счетчик я использую переменую $_SERVER['HTTP_REFERER'].
В результате ко мне в логи иногда попадают страницы, на которых мой счетчик не установлен, и не мог быть установлен.
Например:
http://www.yandex.ru/redir?dtype=rsw&url=http://www.example.com/

Смотрел с каких USER_AGENT такое бывает, думал какие-то уникальные браузеры такое делают, ничего подобного такую фигню выдает MSIE.

Вопрос, кто-нибудь знает в каких случаях MSIE выдает такой кривой реферер? И можно ли как-нибудь этого избежать?
 

LAMborginy

Guest
если адрес набран ручками, то реферер пустой.
 

Falc

Новичок
>>если адрес набран ручками, то реферер пустой.
Спасибо, я в курсе.
Вопрос немного в другом.
 

Crazy

Developer
Есть подозрение на картиночный поиск на оном яндексе...
 

Falc

Новичок
>>Есть подозрение на картиночный поиск на оном яндексе...

Нет туда попадают ссылки не только с яндекса, но и сдругих сайтов которые ссылаются на ресурс с установленым счетчиком.
 

Falc

Новичок
Итак.

Стал вести логи:
Url страницы, на которой стоит счетчик брал из HTTP_REFERER и из JS(location.href)
Сравнивал их между собой (первые 13 символов), если не совпадали писал в базу.
В резултате полчилось что в location.href более корректный url. По анализу полученных логов если был задан location.href то он всегда был равен той странице на которой исполнялся запрос, в то время как HTTP_REFERER мог содержать урлы страниц запрошенных гораздо раньше нежели предыдущюю или даже саму запрашиваемую страницу.

Вывод:
Если location.href содержет URL, то надо брать его оттуда иначе из HTTP_REFERER.
 
Сверху