Скажем, у меня есть сайт со страницами. Страницы ранжируются по количеству раз, когда они просматривались. Хорошо, чтобы страница была высоко оценена, потому что она заставит ее проявиться выше в моих результатах поиска. Следовательно, автор страницы может попытаться сыграть в систему, чтобы увеличить эти конкретные просмотры страниц.
Итак, как вы мешаете этому, сохраняя при этом квазиточное подсчет?
Я придумал следующую "схему":
Пользователь может влиять только на просмотр страницы один раз за сеанс. Это то, чего я обычно ожидал. Если пользователь снова вернется на сайт и снова просмотрит страницу, он должен считаться другим видом страницы.
Проблема заключается в том, что это увеличивает видимость просмотра страницы до script, который очищает свои файлы cookie перед каждым запросом. Самое простое решение этой проблемы - сохранить ip-адрес и разрешить только один и тот же ip-адрес увеличивать число страниц один раз. Это, однако, имеет несколько серьезных недостатков; Прежде всего, это потенциально займет много хранения, и, во-вторых, это помешает пользователям в больших локальных сетях увеличивать количество страниц. Наконец, пользователь не может пересматривать страницу и увеличивать просмотр страницы более одного раза с одного и того же ip. Я могу жить с этим, но лучше жить без него.
Лучший способ, с помощью которого я могу подняться с головы, - сохранить последние X-IP-адреса и не позволять никому из этих ip-адресов влиять на количество просмотров страницы. Это фактически остановило бы любой (простой) script от увеличения количества просмотров страницы. Кроме того, вероятно, было бы хорошей идеей добавить задержку к отображению фактического количества просмотров (в основном, сохранение двух отсчетов и поля даты и времени, когда счетчик "отображения" был последним обновлен с "фактическим" значением, счет, то, что я считаю, делается на сайтах SE).
Это не идеальное решение, поэтому я буду рад услышать ваши предложения и/или комментарии.