зависит от требований что хотите получить. и идеально сделать невозможно потому что нет четкой границы кто бот а кто не бот, второй запрос с одного ип это снова я зашел или моя сестра с нашего общего роутера.
но в целом я бы рекомендовал так:
1) популярных ботов можно отсеивать по юзер агентам (наверное есть готовые библиотеки).
2) делать блокировку сохряняя в мемкеше на 30 мин ип+ид_стр (или например md5(ip + id) ) - простая и эффективная защита от F5.
3) опционально можно делать как в п4 - через N сек отправлять запрос для обновления счетчика. если у кого то будет задача накрутить - они сразу его и будут дергать, поэтому как минимум нужна защита по ип (п2).
но если у кого то встанет задача накрутить то прокси найти не проблема, вы никак его не защитите, если делать без всяких регистраций.
еще рекомендация - если счетчик выводится на страницах - кешировать счетчик на какое то время чтобы злоумышленникам было сложнее изучать как он работает.