Нормально ли хранить код проверки телефона по SMS в куках?

Сразу скажу что не надо предлагать мне другие пути решения авторизации по СМС - я их знаю и использую.
Есть вопрос именно про такое хранение.

Смысл в следующем - отправляя на телефон пользователя код авторизации, мы одновременно сохраняем ему на устройство хэшированную куку с этим кодом. Хэш от кода, времени и сменяемой соли.

В момент отправки кода, мы получаем так же и эту куку и выполняем проверку.

Какие могут быть подводные камни такой авторизации?
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
pro100chel
@pro100chel
Python && PHP Developer
Зачем ты хочешь использовать этот настолько дэбильный способ хранения кода?

Что это за хеш такой от кода, времени и соли?
Что-то по типу sha256("1630540800|salt2281488|99414")?
А как ты собрался валидировать этот код? Тебе в любом случае надо хранить время и соль на сервере.

А какой тогда смысл использовать эту схему? В любом случае скомпрометированный сервер позволит злоумышленнику украсть код.

Вся схема кода на почту/sms сводится с простой табличке.
id|code|token|attemps|expired
Все, больше ничего.
При запросе кода вешаем куки с идентификатором (секретным токеном) кода в базе. При попытке ввода проверяем expired и attemps. По желанию attemps можно вынести в отдельную таблицу для того чтобы чутка решить проблему, когда злоумышленник сможет использовать, допустим, не 3 попытки, а чуть больше.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы