«Вечная авторизация» WordPress

07 Ноя 2011, рубрика: Wordpress |

При разработке сайта на WordPress довольно часто приходится выполнять какие-то действия в админке(установка плагина, редактирование записи и так далее...). При этом каждый раз нужно авторизироваться (пусть даже сессия сохраняется в кукисах, все равно они умирают).  В этом посте я расскажу пару способов, как отключить авторизацию, либо же продлить сессию, чтобы вы могли быть авторизированы, например, год=).

Рассмотрим два пути. Первый из них состоит в том, чтобы убрать систему логирования как таковую=) Ясное дело, этот путь стоит применять только в том случае, если к сайту никто, кроме вас, не имеет доступа (он на локалхосте).

Убираем систему логирования.

Решение состоит в том, чтобы отредактировать файл по пути wp-includes/pluggable.php. Там находим функцию wp_validate_auth_cookie (). Эта функция отвечает за проверку авторизации и возвращает ID пользователя. Все что нам нужно — изменить ее, чтобы она всегда возвращала ID админа. Конечно же, сделайте бэкап этого файла, или сохраните где-нибудь тело этой функции перед внесением изменений. Вообще, всегда нужно делать бэкап перед необратимым изменением, удалением чего-либо, особенно если это база данных =) Ну ладно, сейчас не об этом, заменяем эту функцию на следующий код:

function wp_validate_auth_cookie( $cookie = '', $scheme = '' ) {
$user_ID = (int) 1; // id админа
return $user_ID;
}

Для тех кто не любит писать код, есть еще один способ достигнуть этого же результата. Существует такой плагин No-Login, который делает так, чтобы любой пользователь авторизировался как админ.

Продлеваем сессию.

Этот способ можно использовать не только в том случае, если никто не имеет доступа к вашему сайту. Например, вам впадлу часто логинится и вы хотите чтобы WordPress надолго вас «запомнил». По умолчанию, когда вы авторизируетесь кнопка «Запомнить меня» позволяет забыть про авторизацию на 2 недели. Следующая функция заствит запомнить вас на год:

function keep_me_logged_in_for_1_year( $expirein ) {
 return 31556926; // 1 год в секундах
}
add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );

Вставьте ее в файл functions.php вашей темы. На этом все=) Какой способ выбрать зависит от ваших потребностей.




Оцените полезность!
Не полезноПолезно (+4 баллов, 6 оценок)

3 комментария на ««Вечная авторизация» WordPress»

  1. Мудрый Кот пишет:

    Способ с сессией конечно хороший...

    Он тобою лично проверен?

  2. psha пишет:

    Продливаем сессию => продлЕваем

Ваш отзыв

.Все права защищены © 2017 Блог Полезного.