Сброс пароля в WordPress 2.5.1

Патч, решающий проблему сброса пароля в WordPress 2.5.1

У WordPress 2.5.1 есть одна весьма нехорошая ошибка: не работает сброс пароля. При попытке сброса WordPress выдает следующую ошибку: «Sorry, that key does not appear to be valid». Данная ошибка исправлена в dev-версии WordPress 2.5.2. Тем не менее, все мы люди, и нам, к сожалению, свойственно забывать. В том числе и пароли. Для восстановления пароля ждать выхода [...]

← Вернуться к полной версии записи «Сброс пароля в WordPress 2.5.1»…

Автор: ; опубликовано в: Патчи; метки: WordPress, ошибка, патч
26
Июн
2008

RSS Комментарии к статье «Сброс пароля в WordPress 2.5.1» (5)

  1. Есть один маленький нюанс: если попытка сброса пароля производилась до исправления кода, то пароль сбросить не удастся. Причина в том, что патч исправляет только новые коды активации, а старые (которые хранятся в базе данных) не трогает.

    Поэтому привожу более полную версию патча (только для wp-login.php):

    [-]
    View Code Diff
    --- wp-login.php (original)
    +++ wp-login.php (corrected)
    @@ -91,9 +91,9 @@
            do_action('retrieve_password', $user_login);

            $key = $wpdb->get_var($wpdb->prepare("SELECT user_activation_key FROM $wpdb->users WHERE user_login = %s", $user_login));
    -       if ( empty($key) ) {
    +       if ( empty($key) || preg_match('/[^a-z0-9]/i', $key) ) {
                    // Generate something random for a key...
    -               $key = wp_generate_password();
    +               $key = wp_generate_password(20, false);
                    do_action('retrieve_password_key', $user_login, $key);
                    // Now insert the new md5 key into the db
                    $wpdb->query($wpdb->prepare("UPDATE $wpdb->users SET user_activation_key = %s WHERE user_login = %s", $key, $user_login));
  2. vabout

    Здраствуйте. Вот теперь я пришел к вам. Я поменял пароль и забыл записать – можно как то восстановить пароль! Может можно как то с фтп это сделать! Заранее благодарен. Если не трудно ответьте на емейл!

  3. Ответил на email.

  4. [-]
    Download reset.php
    <?php
        require_once('wp-config.php');

        $new_password = md5('password'); //Новый пароль
        $username     = 'admin'; //Имя пользователя, которму сбрасываете паоль
        $wpdb->query("UPDATE `{$wpdb->prefix}users` SET `user_pass` = '{$new_password}' WHERE `user_login` = '{$username}'");
    ?>

    Редактируете этот файл, загружаете к себе на блог (туда, где лежит wp-config.php) и затем открываете его в браузере. Он Вам поставит новый пароль.

Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.

गते गते पारगते पारसंगते बोधि स्वाहा