Каков будет механизм безопасного онлайн-активации кода выигрыша? - PullRequest
0 голосов
/ 08 ноября 2018

Представьте себе кампанию, в которой посетитель с уникальным win-кодом из пакета продуктов может сразу же выиграть, введя только код. Клиент хочет получить электронную почту и т. Д. После проверки выигрышного кода Это необычно, но гораздо более сочувственно, чем требовательная электронная почта и личные данные, прежде чем проверять, выиграл ли я i.m.h.o.

Итак, поток для посетителя будет:

[ ENTER CODE ]
  !win -> [ TOO BAD ]
   win -> [ CONGRATULATIONS ] -> [ ENTER PERSONAL DATA ]

Этот сценарий будет означать, что бот грубой силы может пробовать коды, пока ответ не изменится, что подразумевает выигрышный код. Будете ли вы использовать / построить (пере) капчу?

Как бы вы защитились от наводнения? Злоумышленник может легко подделать IP / UserAgent для каждого запроса.

Можно ли вообще защитить такой механизм в этом потоке?

1 Ответ

0 голосов
/ 08 ноября 2018

Общий вопрос, общий ответ ...

Лучше сделать код достаточно длинным, чтобы это стало невозможным.

Рассмотрим модель угрозы: зачем кому-то идти на это? Являются ли выплаты такими высокими?

Нет никакого смысла в подделке IP-адреса злоумышленником, так как он никогда не увидит ответы, и в любом случае он не может подделать IP с помощью TLS & HTTP (они могут скрываться за прокси-сервером, но это не подмена). До тех пор, пока количество прокси / IP-адресов намного меньше, чем количество возможных кодов, у вас не должно быть проблем с ограничением по IP.

Вы могли бы сделать запросы дорогими - используйте систему «вызов-ответ», чтобы заставить клиентов выполнять огромное количество хеш-итераций для ограничения скорости запросов (см. Hashcash). Если это занимает 1 секунду, это значительно ограничивает потенциальную частоту запросов, но не приводит к чрезмерным штрафам для реальных пользователей.

...