вторник, 19 августа 2008 г.

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

Описание генерации сателлитов на примере *
[KF-WEB]

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


Каждый из нас, хоть раз в своей он-лайн жизни, сталкивался с восстановлением пароля к своему аккаунту. Почтовому, партнерскому - неважно. И при невозможности восстановить его штатным нажатием на ссылку “Я забыл пароль” тут же писали в техническую поддержку с гневным “Не могу восстановить пароль!!!”, доказывали свои права на акк и благополучно пользовались службой дальше. Но как быть если тех. поддержка это Вы и аккаунт - это админка Вашего 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 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789!@#$%^&*()”;

меняем его на:

function wp_generate_password($length = 12, $special_chars = true) { $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789′; if ( $special_chars ) $chars .= ‘!@#$%^&*()’;

Сохраняем файл. Запрашиваем пароль… И опять таки наслаждаемся.



Не уходи, почитай еще это:


Думаешь с чего начать? Слушай и учи матчасть!

* Эффективная реклама в бомжеленте.

Помогите Марине!

[http://kf-web.ru/wordpress/vosstanovlenie-parolya-wordpress-25x.html]