Шаг 1 вашего плана, вероятно, будет работать не очень хорошо, полагаться на доступные значения реферера не рекомендуется, поскольку его а) легко подделать, б) часто отключают параноидальные пользователи.
Шаг 2Похоже, вы хотите реализовать подход типа токена CSRF, это хорошая идея.
Главное, что нужно защитить, - это токен безопасности, отправленный в электронном письме, если злоумышленник не может определить этот токен безчитать электронную почту это относительно безопасно.Если злоумышленник сможет прочитать электронную почту пользователя, то практически любая схема восстановления пароля будет нарушена.