Восстановление пароля WordPress 2.5.X

19 Август 2008
Метки:
Автор: Фёдор

Одесский НеБомж спалил вкусную тему — как получать максимальный доход от продажи ссылок.


Каждый из нас, хоть раз в своей он-лайн жизни, сталкивался с восстановлением пароля к своему аккаунту. Почтовому, партнерскому — неважно. И при невозможности восстановить его штатным нажатием на ссылку «Я забыл пароль» тут же писали в техническую поддержку с гневным «Не могу восстановить пароль!!!», доказывали свои права на акк и благополучно пользовались службой дальше. Но как быть если тех. поддержка это Вы и аккаунт — это админка Вашего WordPress?

Начиная с версии 2.5.1, пользователи WP столкнулись с багом, когда при нажатии на ссылку «Потеряли свой пароль?» на почту приходила подтверждающая ссылка, при следовании по которой выдавалось «Этот ключ неверен». В версии 2.6.х победили.

Лечиться данное двумя вариантами:

Первый справедлив в том случае, если Вы единственный пользователь админки (что чаще всего). Для исправления открываем phpMyAdmin, открываем в базе данных сайта таблицу wp_users, где руками в значении user_activation_key убираем служебные символы !@#$%^&*(), оставляя только буквы и цифры, сохраняем, запрашиваем новый пароль, наслаждаемся.

Второй Берем два файла /wp-login.php и в /wp-includes/pluggable.php и начинаем их исправлять.

/wp-login.php

В этом файле, после строчки $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) != 0) {
Чуть ниже ищем такую строку:
$key = wp_generate_password();
и меняем ее на:
$key = wp_generate_password(20, false);
Сохраняем.

/wp-includes/pluggable.php

Ищем следующий код:
function wp_generate_password($length = 12) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()";меняем его на:
function wp_generate_password($length = 12, $special_chars = true) { $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; if ( $special_chars ) $chars .= '!@#$%^&*()';
Сохраняем файл. Запрашиваем пароль… И опять таки наслаждаемся.

2leep.com
  1. 19 Август 2008

    Зачем же так мудрить, просто в phpMyadmin ставим новый пароль в шифре MD5 и наслаждаемся )))

  2. 19 Август 2008
    Plebey *

    Извращения любите, батенька ;)
    Я Вам вот что порекомендую для таких случаев: в таблице wp-users найдите графу user_pass (в ней хранится хеш пароля), и вставте туда хеш своего пароля, сренерированый либо с помощью md5(‘pass’), либо SELECT MD5(‘pass’), либо возьмите вот этот cf2b21b42321525795dd779acd7e3955. В последнем случае пароль получится ilovewp. Удачи :)

  3. 19 Август 2008

    я обычно в поле пароля маскуле вставляю пароль с другого блога ..на котором я знаю его.

  4. 27 Август 2008

    Для тех, кто незнает как сгенерировать md5 хэш пароля, есть неплохая программа PasswordsPro, ну а по хорошему, как сказал Plebey:
    md5(’pass’);

  5. 26 Ноябрь 2008

    [PasswordsPro v 1.2] Она же генерирует и расшифровывает… кстати быстрее и лучше всех с чем я работал.

Про этот пост пишут:

  1. chipp.ru - социальная сеть для умных блогеров

Прокомментировать

Внимание: Ссылки на любые сайты, кроме личных блогов, будут убиты, возможно вместе с комментом.
Если Ваш комментарий не появился сразу, не переживайте, он на рассмотрении.

Следить за обсуждением (RSS)



Subscribe without commenting