Стоит задача считать количество посетителей для страниц.
Если просто сделать подсчет открытия страниц, как, например, на Тостере, то при обновлении страницы, будет обновляться счетчик.
Варианты, за которые можно зацепиться:
1. IP - но просто к IP цепляться нельзя, в случае, например, с мобильным интернетом, один адрес может быть на несколько тысяч устройств.
2. Информация о клиенте - о браузере, ОС и тп. В общем вся информация, которую можно получить на сервере из запроса. Сама по себе она тоже не уникальна, так как у многих может совпадать.
3. Записывать статистику и оставлять пометку в куки или ls, чтобы больше от этого пользователя не записывать ничего.
4. Записывать статистику после нахождения на странице больше некоторого времени. Чтобы простое открытие страницы ботом или еще как-то не накручивало счетчик.
Подскажите, пожалуйста, как лучше всего считать посетителей страницы? Какие подходы тут применимы?
Для начала надо определиться, что считаем.
И зачем.
Без этого приступать к любой задаче бессмысленно.
Если надо повесить на страницу бессмысленный счетчик "сколько раз просмотрели статью", то тупо при каждом открытии и не париться.
Если интересует какая-то осмысленная статистика, то сформулировать задачу и подбирать решение под неё.
Василий Берестов, вы с каких 2000 иметее эту информацию?
лайфинтернет умер и даже не поддерживает https что в свою очередь дает микс контент на сайте.
я уже не говорю о том что проект мертв уже как лет 10
зависит от требований что хотите получить. и идеально сделать невозможно потому что нет четкой границы кто бот а кто не бот, второй запрос с одного ип это снова я зашел или моя сестра с нашего общего роутера.
но в целом я бы рекомендовал так:
1) популярных ботов можно отсеивать по юзер агентам (наверное есть готовые библиотеки).
2) делать блокировку сохряняя в мемкеше на 30 мин ип+ид_стр (или например md5(ip + id) ) - простая и эффективная защита от F5.
3) опционально можно делать как в п4 - через N сек отправлять запрос для обновления счетчика. если у кого то будет задача накрутить - они сразу его и будут дергать, поэтому как минимум нужна защита по ип (п2).
но если у кого то встанет задача накрутить то прокси найти не проблема, вы никак его не защитите, если делать без всяких регистраций.
еще рекомендация - если счетчик выводится на страницах - кешировать счетчик на какое то время чтобы злоумышленникам было сложнее изучать как он работает.