|
|
|
| Мне нужно определить, что мой текущий документ кем-то открыт через img src. Как это сделать? | |
|
|
|
|
|
|
|
для: Shorr Kan
(24.05.2011 в 09:38)
| | Этот документ является изображением? Вы его сами используете в img src? Если да, то средствами JS/HTML скорее всего никак, сервер не различает запросы поступающие с разных ресурсов, для него все обращения - это новые клиенты и ему все-равно в рамках какого сайта работает клиент. Можно отдавать изображения через серверный скрипт и отслеживать есть ли уже у пользователя сессия т.е. как-то привязывать отдачу изображения к другим документам сайта на стороне сервера. | |
|
|
|
|
|
|
|
для: cheops
(24.05.2011 в 09:45)
| | Нет, этот документ - обычный документ, он должен выполнять некоторую работу и отображать некоторую информацию людям (не для чтения, а исключительно заголовки и js). Но замыслу, пользователи должны перенаправлять посетителей на этот документ обычной настоящей ссылкой. Но могут появиться читеры. И открывать документ в нулевом ифрейме, например. С этим-то понятно как бороться. А вот если захотят открыть в img src - то непонятно. | |
|
|
|
|
|
|
|
для: Shorr Kan
(24.05.2011 в 09:55)
| | Может на реферер ориентрироваться (не надежно - реферер может блокироваться со стороны клиента, но все же). Даже не плане подсчета, а скажем так, если реферера нет, то осуществлять мониторинг того ресурса откуда он не поступает (вы вероятно все-равно это выборочно будете делать). | |
|
|
|
|
|
|
|
для: cheops
(24.05.2011 в 10:01)
| | то есть при открытии документы через img src реферер не передается? | |
|
|
|
|
|
|
|
для: Shorr Kan
(24.05.2011 в 10:17)
| | Реферер передается только по ссылкам (должен по крайней мере передаваться только в этом случае). | |
|
|
|
|
|
|
|
для: cheops
(24.05.2011 в 10:19)
| | Хм... ифрейм точно передает. Но я проверю, спасибо за подсказку. | |
|
|
|
|
|
|
|
для: Shorr Kan
(24.05.2011 в 09:38)
| | 1) отдавать документ скриптом
2) в скрипте палить сессии (если используются) + реферер + данные клиента + ip клиента
3) можно собирать статистику запросов и смотреть. Если один и тот же человек (см выше данные) качает много и часто - присмотреться к нему, может, забанить. | |
|
|
|
|
|
|
|
для: SHAman
(24.05.2011 в 10:19)
| | речь об открытии документа через неположенный вариант, а не о том, что один и много... люди повторяться в любом случае не будут. Сессии и т.д. никак не помогут определить, что посетитель не видит документ (ибо открыт через img src) | |
|
|
|
|
|
|
|
для: Shorr Kan
(24.05.2011 в 09:38)
| | Чего это вдруг Вас озаботил вызов Вашей страницы именно через атрибут SRC тега <IMG>?
А если я вызову Ваш документ в стилях (прямо в теге, или в CSS-блоке, или в CSS-файле) в качестве фона для какого-то тега/класса - то Вас это "не колышет"? Или Вы просто о таком способе обмана не знаете? :-)
------
1. При ЛЮБОМ способе вызова ЛЮБОГО файла с сервера идёт отправка на этот сервер HTTP-запроса (в котором есть и IP, и реферрер и прочие данные). И всякий HTTP-запрос оставляет свой "след" в логе сервера. Всякие-разные Вебализеры анализируют именно HTTP-запросы и на их основании строят статистику посещений. Лживую статистику. Ибо "обманки" от реальных загрузок в окно браузера не различают.
2. Собирающие статистику всякие яндексы-рамблеры-ливинтернеты работают только на JS (путём вставки своей картинки с SRC="их программа на серверном языке"). И статистика у них тоже лживая. И не потому, что кто-то якобы отключает исполнение JS в своём браузере (таких идиотов совсем немного, ориентироваться на них не стоит). Просто можно (что и делается для накручивания счётчика) запускать их JS-код в отдельном окне, не вызывая Вашей страницы вовсе.
------
Отличить реальный вызов в окне от всяких "обманок" поможет лишь СРАВНЕНИЕ.
Вам на Вашей странице нужен JS-скрипт, который по какому-либо HUMAN-событию* подключит Ваш PHP-сценарий, который сохранит в Вашем файле на сервере нужные Вам параметры.
Затем Вам надо (опять же - программно) сравнить серверный лог с Вашим файлом.
Те запросы, которые отражены и там, и там (и с небольшой дельтой по серверному времени) - настоящие.
Все прочие (кои отражены только в одном из файлов) - "обманка".
* HUMAN-события - это, например, onmousemove на теле документа. | |
|
|
|
|
|
|
|
для: Shorr Kan
(24.05.2011 в 09:38)
| | прочитайте про zeropixel | |
|
|
|