Я собираюсь создать очень простой опрос, но меня беспокоят люди, играющие в опрос, и просто повторное голосование заново. Я не говорю о том, что кто-то дважды щелкает кнопкой отправки, но злонамеренно пытается наполнить опрос мусором. Хотя я понимаю, что нет абсолютно надежного решения, каковы некоторые из способов защитить мое приложение?Предотвращение наводнения опроса
ответ
Предположительно, вы говорите с точки зрения веб-приложения? Captcha популярны - они предотвращают автоматическое наводнение.
Cookies могут помочь немного (если пользователь недостаточно умен, чтобы очистить его).
Вы можете выполнять IP-протоколирование, но я бы не рекомендовал его, так как он имеет ложные срабатывания (например, если вы блокируете IP-адрес прокси-сервера, то все пользователи, использующие этот прокси-сервер, блокируются). Лучшим способом было бы заставить пользователей регистрироваться первым (опять же - используйте здесь капчу), если это вариант.
Кроме того, вы можете реализовать фильтр нижних частот для каждого IP (другими словами, отфильтровывать представления с высокой частотой от одного IP или блока IP), чтобы отфильтровать (или, по крайней мере, предупредить) потенциальные атаки.
вы можете записать IP-адрес, связанный с каждым голосованием, и выполнить быстрый запрос db, чтобы узнать, проголосовал ли кто-либо из этого ip. это не безупречно, потому что люди могут перемещаться в разные сети с разными IP-адресами, но это определенно урезало бы игру в опросе.
Вы можете:
- Требовать их зарегистрироваться затем войти в систему, чтобы голосовать на опросе (может иметь активацию электронной почты для учетных записей)
- Сохранить голоса с IP-адресом в базе данных (не 100% защиты, но хорошо в противном случае)
- Если ваш опрос предназначен для гостей/посетителей для голосования, то я настоятельно рекомендую CAPTCHA для прекращения подачи заявок BOT