Вся правда об интернет-голосованиях

Всей чаще в Интернете проводятся различные опросы, голосования, «выборы». Их результаты могут отражать общественное мнение или же влиять на распределение призов в различных конкурсах. В зависимости от задачи.

Так случилось, что наша студия обладает бесценным и, в некотором роде, уникальным опытом проведения конкурсов с применением интернет-голосований. Далее мы расскажем об основным принципах проведения интернет-голосований, однако главный вывод можно сделать сразу: «Без раздачи по альтернативному каналу связи уникальных кодов для участия в голосовании любое интернет-голосование может быть сфальсифицировано».

Наша цель — максимально приблизиться к показателю «Один человек — один голос».

Задача 1.

Представим, что у нас есть сайт, с хорошей посещаемостью и высоким процентом зарегистрированных пользователей, на котором голосовать смогут только авторизованные пользователи. Это наиболее простой для защиты объект.

Первое, что приходит на ум — ограничение «с одного аккаунта в одном опросе один голос». Это реализуется очень просто, любой программист такое сделает без труда. Этого ограничения хватит, если на ваш сайт получают доступ только по приглашениям, число которых незначительное. Допустим, что на тысячу активных пользователей в месяц выдается пару десятков приглашений.

Хуже обстоят дела, если регистрация открыта для всех желающих. Если голосования проходят редко и спонтанно, то скорее всего достаточно будет ввести ограничение «голосовать могут только те, чья дата регистрации раньше, чем дата начала голосования». К сожалению, это далеко не всегда является допустимым. С другой же стороны, если голосования регулярные, то злоумышленник может сделать себе армию ботов заранее. Кстати, такое ограничение позволяет побороть иногда очень нежелательный «фактор друзей», которых могут позвать очень и очнь много.

Таким образом, ботов надо как-то вычислять. Приведём советы, позволяющие вычислить ботов, а так же усложнить жизнь «ботоводов».

  • Требуйте проверку e-mail при регистрации на сайте. Это затруднит регистрацию ботов, однако упорство «ботоводов» не знает границ, поверьте...
  • Анализируйте голоса после закрытия голосования, но перед подведением его итогов. О том, что можно узнать о голосе — чуть позже.
  • Проверяйте списки зарегистрированных пользователей. Если регистрация на сайте не очень интенсивная, то большое число новых пользователей за небольшой срок должно насторожить.

Задача 2.

Возьмем объект, без сформировавшейся аудитории постоянных пользователей. Защитить его от «накруток» невозможно в принципе. Есть несколько популярных методов для усложнения жизни злоумышленников, которые не дают никакой фактической защиты, а скорее просто выполняют ту же роль, что фильтр в сигарете.

Ограничения на голосования с одного IP адреса. IP подделать невозможно. Зато можно просто получить другой с помощью анонимайзера, либо путем многократной переустановки соединения с Интернетом (актуально для некоторых провайдеров). Для борьбы с анонимайзерами подходит фильтрация иностранных IP, а вот с динамическими адресами провайдера бороться бесполезно, особенно если проект у вас региональный.

Анализ данных о системе пользователя. При запросе к сайту в числе остальных параметров передаётся так называемый «User agent». Его можно подделать. Если это для злоумышленника неподъемная задача, то он может ограничиться установкой на свой компьютер всех известных ему браузеров. На деле же часто user-agent позволяет решить, что делать с голосом в спорной ситуации.

Проверка голосов по сессиям. С помощью сессий, реализованных, как правило, с применением Cookies, обеспечивается работа авторизованных пользователей. Особенность сессий в том, что можно настроить их так, чтобы они хранились длительное время. При участии в опросе можно фиксировать идентификатор сессии и ограничивать голосование по сессии так же, как и по аккаунту - «один голос в одном опросе в рамках одной сессии». Это неплохой способ, однако если злоумышленник будет чистить Cookies — он бесполезен.

И что из этого следует?

Невозможно ограничить участие в голосовании, иначе как оставив эту возможность только тем, кто зарегистрирован на сайте до начала голосования, либо имеет регистрацию на сайте с ограниченной регистрацией.

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

И, напоследок, совет: запретите на уровне правил вашего сайта обсуждать объективность голосований: недовольные будут всегда.

Наш блог, 02.11.2010

Заказ сайта
Разработка и продвижение сайтов
в Брянске и Брянской области.

Наш телефон: +7 4832 52-11-82
Наш e-mail: info@b-web.ru