Дмитрий, не могу не отреагировать на столь актуальную и больную :( для меня тему (в последний месяц). Самая, пожалуй, большая здесь проблема - не чем, а как заполнять базу. Естественно, писать в таблицы ВСЕ хиты с КАЖДОГО клиента - значит очень быстро переполнить базу. Приходится чем-то жертвуя балансировать между INSERT и UPDATE. Если интересно - могу выслать мой вариант заполнения базы для "промышленного" каунтера.
И насчет HTTP_X_FORWARDED_FOR. Его НАДО использовать. Даже если юзер зашел через СВОЙ ЛИЧНЫЙ прокси (не входящий в прокси иерархию), REMOTE_ADDR скорее всего будет содержать адрес БЛИЖАЙШЕГО прокси, т.е. доменная статистика будет заведомо неправильной!
Ответ DL:
Да, собирание всех логов можно назвать "Рамблер дома". Поэтому, разумеется, программа для анализа логов должна уметь формировать итоговые отчеты за месяцы/недели и удалять старую информацию. Кроме того, я не претендую на универсальность данного подхода ? наверное, со временем я заменю собирательство логов на статистику по рубрикам и выпускам, но тут уже я другим не советчик ? для каждого сайта свой подход. Кстати, я уже просто игнорирую и не вношу в таблицу всякие скачивалки сайтов (оказалось, что их около 1/5 из всех запросов).
23.7.2001 09:22 Андрей []
Зашел на эту страницу через ya.ru с поиском ответа на вопросы: 1) где взять полный список HTTP-переменных, по которым можно анализировать зашедшего пользователя? 2) где найти грамотный алгоритм счетчика, который бы отбрасывал следующие посещения: а) reload'ы страниц (с интервалом в 30 секунд, например) б) учет большинства публичных прокси в) учет поля referer на предмет его отсутствия г) роботы или просто без user-agent д) зеркала сайта е) локальный IP или учет IP своей локалки ж) коррекция посещений с использованием cookies Вроде все указал. Есть еще ограничения? |
5.10.2001 14:58 Val []
А можно объяснить смысл этой строки: $page = str_replace("] По поводу поста ======================================= А HTTP_X_FORWARDED_FOR? Весьма полезная штука. Если существует, то лучше от нее gethostbyaddr брать. Через прокси нынче многие ходят ======================================= gethostbyaddr(HTTP_X_FORWARDED_FOR) - мимо кассы. В $HTTP_X_FORWARDED_FOR содержится не только IP адрес посетителя использовавшего проксю. В нем так же хранится список всех остальных прокси (если он использовал их несколько) через которые он попал на сайт. Иногда $HTTP_X_FORWARDED_FOR содержит 8 IP-шников. Интересно, как на это gethostbyaddr отреагирует? ;) |