Безопасное проектирование системы «пробная версия перед регистрацией» - PullRequest
0 голосов
/ 25 ноября 2018

Как я могу безопасно внедрить пользовательскую систему "пробная версия перед регистрацией"?

До сих пор я думаю:

  • Пользователь нажимает кнопку "Попробуйте продукт"
    • Контроллер создает новые user
      • наборы is_trial = true
      • наборы trial_id = UUID()
    • Набор сеанса / cookie trial_id = user.trial_id
  • Будущие посещения проверяют сессию / cookie для trial_id, загружают пользователя, если он присутствует, и находят другое перенаправление на страницу регистрации / пробной версии.

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

Я знаю, что кто-то может угадать UUID другого человекадовольно маленький, но это не невозможно.

Так обычно проектируются эти системы?Как я могу добавить больше безопасности?

1 Ответ

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

Я полагаю, что описанный метод является правильным, наряду с добавлением чего-либо, такого как JTW, либо для подписи (для предотвращения взлома), либо для подписи и шифрования файлов cookie.

...