От каких игр вы хотите защитить себя? Кто-то создал пару ботов и завалил вас тысячами (миллионами) запросов? Или кто-то, у кого нет ничего лучше, и пытается набрать 10-20 голосов?
Да, я знаю: и то, и другое — но какое из них вас больше всего беспокоит?
Использование CAPTCHA вместе с голосованием по электронной почте (отправьте ссылку на электронное письмо, чтобы подтвердить голосование) может хорошо работать против ботов. Но человек может более или менее легко использовать систему электронной почты (как я комментирую в одном ответе и публикую здесь снова)
У меня есть собственный домен, и я могу иметь в нем любую электронную почту, которую захочу.
Другой пример: если ваш адрес электронной почты myuser*@gmail.com*, вы можете использовать «[email protected]», [email protected] и т. д. (знак плюс и текст после того, как оно будет проигнорировано и доставлено на ваш счет). Вы также можете включить точки в свое имя пользователя ([email protected]). (Это работает только для адресов Gmail!)
Чтобы защититься от людей, я не знаю, какие файлы cookie использовать, но это может быть хорошим выбором. Использование OAuth, интегрированного с Twitter, FB и другими сетями, также может работать хорошо.
Кроме того, помните: требование электронной почты для голосования отпугнет многих людей! Вы получите гораздо меньше голосов!
Другой вариант — ограничить количество голосов, принимаемых вашей системой с каждого IP-адреса в минуту (или час, или что-то еще). Чтобы защититься от распределенных атак, ограничьте общее количество голосов, принимаемых вашей системой в течение определенного периода времени.
person
Pedro Loureiro
schedule
25.01.2011