Я пишу систему голосования в NodeJS и Express на бэкэнде и React на веб-интерфейсе.
Что я сейчас делаю:
- Сохранение всех голосов пользователейв localStorage
- Создание отпечатка браузера
- При голосовании я проверяю, голосовал ли пользователь уже через localStorage
На внутренней стороне:
- Сохранить отпечаток пальца и IP-адрес браузера в базе данных
- При голосовании я проверяю, существует ли уже комбинация отпечатка пальца и IP-адреса в базе данных, и если нет, то учитывается ли голос.Если да, голосование просто игнорируется.
Кроме того, я использую экспресс-перебор для предотвращения атак методом перебора
Я знаю, что это вообще не безопасно и что пользовательмогу голосовать несколько раз через несколько устройств или сетей.
Мой вопрос: сколько усилий нужно приложить пользователю со злонамеренными намерениями, чтобы спамить мою заявку с помощью голосов?Как это будет работать?
Мой клиент хочет рискнуть тем, что пользователи будут голосовать несколько раз, если это просто для очень опытных людей.
Редактировать:
Этона самом деле не имеет значения, голосует ли пользователь в 10-20 раз дольше, чем его небольшие суммы.Я просто пытаюсь защитить свою заявку от огромного количества голосов.