Какие существуют методы для предотвращения нескольких заявок на участие в конкурсе? - PullRequest
5 голосов
/ 18 апреля 2011

Проект

У нас есть соревнование, закодированное в PHP, с CodeIgniter. Форма имеет подтверждение на адреса электронной почты и номера мобильных телефонов. Сама страница размещается внутри iframe в другом домене (это отношения агентства и клиента).

Проблема

Мы получаем пользователей с тысячами записей. Мы знаем, что они фальшивые, потому что:

  1. Они используют один и тот же номер мобильного телефона - предположительно, они выясняют номер мобильного телефона, который проходит проверку, а затем используют его каждый раз.
  2. Все адреса электронной почты находятся в странных доменах, причем некоторые из доменов повторяются несколько раз.

Однако IP-адреса уникальны, записи распределены на несколько дней, сами домены имеют записи MX, пользовательские агенты выглядят нормально.

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

Вопрос

Каковы плюсы и минусы таких методов, как капча? Какой интерфейс и шаблоны кода вы использовали, которые работали?

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

Ответы [ 3 ]

2 голосов
/ 18 апреля 2011

Некоторые методы, которые вы можете использовать:

  • Captcha : Останавливает ботов, отправляющих форму
  • Подтверждение по электронной почте : Отправьте им письмос уникальной ссылкой на активировать свою запись в конкурсе.Останавливает недействительные адреса электронной почты.
  • Проверка мобильного номера : отправьте им текстовое сообщение с кодом активации .Останавливает недействительные телефонные номера.

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

1 голос
/ 18 апреля 2011

CONS of CAPTCHA:

  1. Пользователи ненавидят это, и это может расстраивать, если реализовано плохо (например, из-за неудачной капчи сбрасываются другие поля формы).
  2. Может быть трудно для законногопользователи, чтобы завершить, когда буквы трудно читать.
  3. Не всегда работает.Кто-то просто обманул Ticketmaster, обыграв ReCAPTCHA несколько месяцев назад, например *.
  4. Ужасно, больше кода для реализации, и он перекладывает бремя или ответственность с вас на пользователей.Доказать, что вы человек, это не то, что я хочу видеть при отправке формы, очень обидно.

@ Ник получил правильную идею, используйте проверку текста / электронной почты.Проверка IP иногда может быть в порядке, но, как вы сказали, вы получаете уникальные IP-адреса с одним и тем же номером мобильного телефона, так что это ненадежно.

Здесь много хороших сообщений об альтернативах CAPTCHA, которые определенно стоит прочитать.если вы планируете использовать его.Вам, вероятно, придется найти баланс между упрощением работы пользователя (поощрение подачи заявок) и методами обеспечения безопасности переднего плана.

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

* Ticketmaster использовал различные способы, чтобы попытаться помешать работе Висегуя, в какой-то момент переключившись на службу под названием reCaptcha, который также используется Facebook.Это сторонняя капча, которая передает вызов капчи посетителям сайта.Когда покупатель пытается купить билеты, сеть Ticketmaster отправляет уникальный код в reCaptcha, который затем передает клиенту вызов Captcha.

Но обвиняемые, как утверждается, смогли помешать этому, так какЧто ж.Они написали сценарий, который олицетворял собой пользователей, пытающихся получить доступ к Facebook, и загрузил сотни тысяч возможных проблем с Captcha из reCaptcha, утверждают прокуроры.Они идентифицировали идентификатор файла каждого запроса Captcha и создали базу данных «ответов» Captcha, чтобы соответствовать каждому идентификатору.Затем бот идентифицирует идентификатор файла вызова в Ticketmaster и возвращает соответствующий ответ.По словам властей, бот также имитировал поведение человека, иногда совершая ошибки при наборе ответа.

0 голосов
/ 18 апреля 2011

Captcha идеально подходит для защиты от спама, в то же время очень часто вводя людей в заблуждение.

Но есть обходной путь - вы можете использовать JavaScript, чтобы скрыть капчу для реальных пользователей (используя браузеры с включенным JavaScript), в то время как она всегда будет «видимой» для спам-ботов (у которых нет JS). Это довольно просто - просто с помощью JS Вы устанавливаете div, в котором отображается капча: none, и создаете скрытый ввод со значением, содержащим его из изображения капчи ...

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

Также хорошим способом обхода пользователей для предотвращения повторной отправки форм при обновлении является перенаправление пользователей на ту же страницу после того, как форма отправлена ​​и обработана ... Да, для просмотра результата требуется больше одной или двух секунд. , но гораздо безопаснее ...

...