Голосование на сайте своими руками (защита от накруток)

SDaniL аватар
5

Задался вопросом сделать скрипт голосования. Посмотреть, что получилось можно тут.

Задачи:
1) определить направление развития сайта с точки зрения посетителей
2) небольшое развлечение (ИМХО самому нравится участвовать)
3) интерактивность и "живость" сайта

Главной проблемой разработки является защита от повторных голосований. Способов защиты знаю немного, а именно: IP, cookee, session, регистрация.
Регистрация, конечно предпочтительней и надежней, но мне никак не подходит. Проверка Ай-Пи адреса - ну уж очень сомнительная (не представляю как проводит проверку, если отношение айпи-браузер может быть "многие ко многим"). Остается куки и сессия, но и они не без греха. Куки можно отключить или почистить, а сессия имеет небольшую продолжительность и также привязана к браузеру.

Хочется услышать мнения о том как сделать более-менее серьезную защиту?

vikeng аватар
29

Если тебе удастся сделать серьёзную защиту - сможешь продать её за очень хорошие деньги.
Если серьёзно - то точного решения не существует. У меня статистика по сайтам от LI и Яндекса отличается достаточно сильно. Наверняка они решили сконцентрироваться каждый на своей крайности, уделяя остальным внимание постольку-поскольку.
Грамотный пользователь в любом случае сможет обойти защиту.

Дима аватар
405

ip и куки. Если захочется бороться с накрутками, можно прикрутить geoip-базы и скручивать голоса, если подозрительно высокая зарубежная активность, или подозрительно много голосов из одного русского диапазона.

Дима аватар
405

Кстати, ip и время каждого голоса лучше хранить в базе.

SDaniL аватар
5

IP ? Честно говоря даже не представляю каким образом можно сделать защиту, основываясь именно на IP. Т.к. как у одного пользователя их может быть много, так и у многих может быть один.
Если выдергивать ответы сервера и использовать что-то типа REAl IP то это вся информация, которая может быть легко изменена, либо скорректирована.

riddi аватар
54

Ну я бы рекомендовал отталкиваться от логики поведения пользователей. Если голосование не является каким-то конкурсом прямым ли косвенным ли, то особо зацикливаться на возможности скликивания вряд ли разумно. Вполне достаточно уникальности по кукам.

riddi аватар
54

"SDaniL" писал(а):
Честно говоря даже не представляю каким образом можно сделать защиту, основываясь именно на IP

Ну для начала можно проверять не является ли IP прокси

vvuser аватар
2

Есть вариант подключить готовую систему защиты от накруток http://fairvote.ru

Soft-Lab аватар
127

"vvuser" писал(а):
систему защиты от накруток http://fairvote.ru

Хороший сервис, правильный.