Предположим, что пользователь допустил ошибку в заполнении адреса эл. почты, а такой ошибочный адрес действительно существует
Здравствуйте!
Меня интересует вопрос, связанный с системой регистрации и входа без пароля.
Как я понял, при таком подходе пользователю следует заполнить только поле с электронной почтой. Дальше на указанный адрес посылается ссылка, по которой вход в систему совершается автоматически. В такой ссылке присутствует случайно созданный пароль. Если пользователь получает письмо, он просто переходит по ссылке, и всё готово — он в системе.
Но предположим, что пользователь допустил ошибку в заполнении адреса эл. почты, а такой ошибочный адрес действительно существует. Тогда письмо придёт не тому пользователю на ящик. Этот пользователь перейдёт по ссылке и получит полный доступ к акаунту пользователя, совершившего ошибку.
Что же делать в таком случае? Я мог просто неправильно понять данный подход к осуществлению авторизации пользователя, но мне нравится эта задумка, и поэтому хотелось бы понять, как она действительно работает более детально.
Важно, чтобы во время действия, повлекшего такую прозрачную регистрацию — например, при покупке в интернет‑магазине — покупателю уже выдавалась кука, которая позволит его узнавать, даже если он не перейдёт по отправленной ссылке. Тогда, если ссылка уйдёт по почте «злоумышленнику», наш покупатель останется в своём акаунте и сможет поменять почту.
Но что если покупатель поймёт, что ошибся, слишком поздно, и злоумышленник успеет воспользоваться его акаунтом?
В интернет‑магазине злоумышленник сможет узнать, что покупатель купил. Кажется, это не беда. Возможно, сможет отменить заказ — неприятно, но тоже не критично. Если же злоумышленник может воспользоваться деньгами со счёта покупателя, то это уже плохо. Возможно, тут схему нужно скорректировать, например не давать пополнять счёт до подтверждения почты. Естественно, это может несколько снизить работоспособность вашего сайта, поэтому нужно подумать, что хуже — упущенная из‑за этого выгода или затраты на работу по разрешению единичных неприятных ситуаций.