2009-09-29 3 views
3

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

ответ

7

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

Cookies могут помочь немного (если пользователь недостаточно умен, чтобы очистить его).

Вы можете выполнять IP-протоколирование, но я бы не рекомендовал его, так как он имеет ложные срабатывания (например, если вы блокируете IP-адрес прокси-сервера, то все пользователи, использующие этот прокси-сервер, блокируются). Лучшим способом было бы заставить пользователей регистрироваться первым (опять же - используйте здесь капчу), если это вариант.

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

0

вы можете записать IP-адрес, связанный с каждым голосованием, и выполнить быстрый запрос db, чтобы узнать, проголосовал ли кто-либо из этого ip. это не безупречно, потому что люди могут перемещаться в разные сети с разными IP-адресами, но это определенно урезало бы игру в опросе.

1

Вы можете:

  • Требовать их зарегистрироваться затем войти в систему, чтобы голосовать на опросе (может иметь активацию электронной почты для учетных записей)
  • Сохранить голоса с IP-адресом в базе данных (не 100% защиты, но хорошо в противном случае)
  • Если ваш опрос предназначен для гостей/посетителей для голосования, то я настоятельно рекомендую CAPTCHA для прекращения подачи заявок BOT