Пускай есть сервис где был забыт логин, пользователь выбирает восстановление по email, получает письмо, открывает ссылку и восстанавливается. Я же пользуюсь хитростью когда нет доступа на ПК к ящику, однако есть на мобиле, где открываю моб браузером ссылку и сервис на ПК считает что пароль восстановлен/сброшен и тд. Заметил что никто никогда не отпирался что “чего это ты с другой сети восстанавливаешься?”, на сколько практично (да и реализуемо ли вообще?) было бы проверять что запрос на восстановление и собственно запрос с передачей токена восстановления из email, пришли из одной сети? Если да - это один и тот же человек - восстанавливаем, нет - почта у чужих людей, блокируем.
На мой не очень опытный взгляд, это можно реализовать и достаточно несложно (при формировании токена восстановления он же сохраняется в БД - там можно сохранить и сведения о сети, проверять при переходе по ссылке совпадение), но мне непонятно, в чём тут уязвимость? Ну, сделали запрос в одной сети, токен/ссылку отправили на почту, вы имеете доступ к почте, раз получили эту ссылку. Открыли ссылку - всё равно где и в какой сети - важно то, что у Вас есть доступ к содержимому почтового ящика. В чём уязвимость?
Так тогда можно и с мобилы ссылку запросить, зачем тут ПК вообще и в чем хитрость?
Моделируем ситуацию. Мне надо куда-то срочно ехать и срочно надо попасть в тот сервис. Я делаю восстановление логина на домашнем компе, но пока идет сообщение о восстановлении (бывает, это занимает несколько минут), приходит мое такси и я выхожу из дома. То есть мыло я могу получить только с телефона. А сервис мне говорит, мол, мне плевать, что у тебя почта твоя и ссылка на восстановление твоя - сеть не та, так что фигушки тебе. С тех пор ноги бы моей в том сервисе не было.
Излишняя защита иногда даже хуже отсутствия защиты. Вспоминаю, как раньше то ли у ФБ, то ли у гмыла была тупая привычка каждые сколько-то месяцев менять пароль. Мол, для безопасности, а вдруг кто-то узнал ваш пароль… Так вот, у меня на все неважные сайты был один пароль, который я помнила всегда. А вот как только эта бурда начала выделываться, я специально для нее придумала новый. И забыла, разумеется. Пришлось снова менять. И так как старый я поставить не могла, потому что “Этот пароль у вас уже был, введите новый”, мне пришлось выдумывать новый. И так почти каждый месяц. А когда так начали делать еще некоторые сервисы, я стала путаться в паролях, и в конце-концов мне пришлось просто сохранять их в браузере (причем это еще менее безопасно, чем если б я не меняла пароль несколько лет, но хранила его в голове). Слава богу, этот треш с принудительной сменой прошел. Но после него меня либо нет на тех сервисах, либо попасть туда проще простого, потому что стоит максимально слабый пароль, плюс хранится у меня на всех девайсах.
думаю этим можно и закрыть данный вопрос Благодарю