Проверьте, есть ли здесь ссылка на одноразовый пароль. Drupal 7 - PullRequest
0 голосов
/ 10 сентября 2018

Я использую Drupal 7. У меня есть такая функциональность, что когда пользователь запрашивает пароль для восстановления, он получает одноразовую ссылку, по которой, если он / она нажимает, он попадает на какую-то страницу, где он может изменить свой пароль.

Но эту функциональность необходимо изменить. Предположим, что если они не нажимают на одну отправленную им ссылку, а затем снова запрашивают забытый пароль, я хочу отправить им одну и ту же своевременную ссылку для сброса пароля, а не генерировать новую до 24 часов или если они нажимают в зависимости от того, что произойдет первый.

Итак, есть ли у нас какая-либо функция, которая может сообщить нам, если в базе данных уже существует ссылка для одноразового сброса пароля или нет, и если да, то как мы можем использовать ее вместо создания новой.

Кроме того, если они нажимают на ссылку одноразового забытия пароля, они должны попасть на страницу сброса пароля (она работает, как и ожидалось), но они не должны иметь возможность нажимать любые другие значки навигации, и если они это делают сообщение должно сказать им, что им нужно сначала сбросить пароль.

Сейчас я делаю это:

function oc_multipart_login_generate_one_time_link($userdetail) {
     $timestamp = REQUEST_TIME; 
    if (!empty($userdetail->invite_url)) {
     return url("user/reset/$userdetail->uid/$timestamp/" . user_pass_rehash($userdetail->pass, $timestamp, $userdetail->login, $userdetail->uid), array('absolute' => TRUE, 'query' => array('destination' => $userdetail->invite_url))); 
    } else { 
    return url("user/reset/$userdetail->uid/$timestamp/" . user_pass_rehash($userdetail->pass, $timestamp, $userdetail->login, $userdetail->uid), array('absolute' => TRUE)); 
    }

Как мы видим, эта функция использует временную метку для генерации URL-адреса одноразового пароля-сброса ..... поэтому, если пользовательский запрос снова сбросит пароль, не нажимая на первую отправленную ссылку электронной почты, новая ссылка будет немного по-другому, но я хочу, чтобы все было одинаково до тех пор, пока не пройдет 24 часа, или пользователь щелкнет по нему, что произойдет первым.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...