Короткий ответ: невозможно остановить решительного злоумышленника, если единственное непроверенное посещение - единственное, что требуется для изменения порядка вашей истории.
Вы можете подумать о внедрении системы голосования для зарегистрированных пользователей.
Однако вы можете собрать несколько фрагментов информации и объединить их все:
1) Пользовательский агент
2) IP-адрес
3) Заголовок X-Forwarded-For (если имеется)
Часто злоумышленники будут ленивы и не будут перебирать различных пользовательских агентов. Если вы настроите свою систему на обработку информации о посещениях через определенный интервал (а не в режиме реального времени), вы можете потенциально отфильтровывать большие коллекции посещений, происходящих в одно и то же время, с одним и тем же точным пользовательским агентом.
Вы всегда можете загрузить базы данных прокси-серверов с таких сайтов, как antiproxy.com, но правда в том, что большинство хорошо спланированных атак сегодня совершаются с узлов ботнетов, которые еще не задокументированы. Ваш сайт может быть полностью атакован гетерогенным трафиком, который неотличим от обычных посетителей.
По крайней мере, я бы предложил изменить вашу реализацию, чтобы пользователи могли голосовать за истории и запрашивать капчу.