Коллеги, подскажите, а какая модель угроз — или модель поведения пользователя — стоит за концепцией “если ты только что перешёл по ссылке для восстановления пароля и два раза ввёл пароль, то теперь введи его в третий раз, чтобы залогиниться”?
Почему автоматом не логинить?
Там нет модели угроз. Там есть нежелание делать два дублирующих кода для двух страниц.
При логине надо как минимум сделать POST-Redirect-GET с проверкой Referer и выставлением одной временной и одной или двух постоянных кук.
Заморачиваться с этим дважды всем лень.
Я когда-то писал для авторизации Рамблера такой код, и там действительно проще сделать отдельную страницу с логином.