С какой игрой вы хотите защитить себя? Кто-то создает пару ботов и бомбит вас тысячами (миллионами) запросов? Или кто-то, у кого нет лучших вещей и чтобы попытаться сделать 10-20 голосов?
Да, я знаю: оба - но какая из них ваша главная забота здесь?
Использование CAPTCHA вместе с голосованием по электронной почте (отправьте ссылку на письмо, чтобы подтвердить голосование) может хорошо работать против ботов. Но человек может более или менее легко использовать систему электронной почты (как я комментирую в одном ответе и публиковать здесь снова)
У меня есть собственный домен, и я могу получить любое электронное письмо, которое я хочу в нем.
Другой пример: если ваш адрес электронной почты MyUser * @ gmail.com *, вы можете использовать "[email protected]" [email protected] и т.д. (знак плюс и после текст будет проигнорирован и доставлен на ваш счет ). Вы также можете указать точек в вашем имени пользователя ([email protected]). (Это только работы по GMAIL адресам!)
Для защиты от людей, я не знаю, когда-либо печенье, но это может быть хорошим выбором. Использование OAuth, интегрированного с твиттером, FB и другими сетями, также может работать хорошо.
Кроме того, помните: требующие электронной почты кого-то голосовать голосуют многие люди! Вы получите гораздо меньше голосов!
Другой вариант: ограничить количество голосов, в которых ваша система принимает с каждого ip в минуту (или час или что-то еще). Чтобы защитить от распределенных атак, ограничьте общее количество голосов, которое ваша система принимает в течение определенного периода времени.
Возможный дубликат [Лимит 1 голос за IP-адрес?] (Http://stackoverflow.com/questions/1246705/limit-1-vote-per-ip-address) – bzlm