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



@Suntechnic

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

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

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

Какие могут быть подводные камни такой авторизации?


Решения вопроса 0


Ответы на вопрос 1



@pro100chel

Зачем ты хочешь использовать этот настолько дэбильный способ хранения кода?

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *