listopad Дима Попов, конечно, обладает развитым воображением, но для реальности его система малость не годится.
Особенно мне нравится следующий пункт:
Если и здесь результат нулевой, значит:
а) пользователь и вправду впервые голосует
б) пользователь очень хочет Вас обмануть, и ничего Вам не поможет :-)))
Реально, надо ставить куку и писать логи.
Логи самые обычные. одно голосование - одна строчка.
Время, айпи, юзер_агент, х_форвардед_фор.
Если есть апачевские логи, то можно ничего не писать, а пользоваться ими.
Написать просто анализатор. С помощью
array_count_values искать ip, с которых голосовали больше определенного порога, и разбираться. В случае накруток - просто снимать с определенного ответа нужное количество голосований. руками.
Но обычено это не требуется. Ведь у тебя не "За стеклом" голосуется?