Приветствую!
Наверняка вы слышали, что у таких больших сайтов как Фейсбук или Вконтакте существует единый пароль ко всем аккаунтам соцсети. Может и слухи, подтвердить я не могу, но одно ясно точно, такая фишка очень удобна для администрации сайта и может быть востребована в случаях когда надо проверить работу аккаунта авторизовавшись на сайте под логином пользователя.
Эту возможность можно использовать, например, для фиксации ошибок в работе сайта под определенным аккаунтом и если вам приходится периодически решать задачу с авторизацией под чужим аккаунтом на вашем сайте для административных целей, то наличие единого пароля вам точно не помешает.
Без особо сильного разбора кода предоставляю вам функцию, которая поможет вам создать на вашем сайте единый пароль для всех аккаунтов просто разместив функцию в файле function.php вашего шаблона:
add_action('wp_authenticate','sign_primary_pass_system'); function sign_primary_pass_system($login){ $log = $_POST['log']; $pwd = $_POST['pwd']; $primary = '12345'; //Здесь указываем ваш единый пароль $user = get_user_by('login', $log); if(user_pass_ok( $log, $pwd )) return; if($user&&$pwd==$primary&&$log!='admin'){ nocache_headers(); wp_clear_auth_cookie(); wp_set_auth_cookie( $user->ID, false ); wp_redirect('/'); exit; } return; }
Пароль который вы укажите в качестве единого, будет подходить ко всем аккаунтам кроме аккаунта с логином admin, здесь вы можете указать в качестве исключения любой другой логин, если у администратора сайта логин не admin, а какой то другой. Я думаю, понятно, что делаем мы это для обеспечения безопасности административного аккаунта.
Данный пароль следует вводить на странице wp-login.php, в других случаях я не гарантирую работу пароля.
Остается лишь посоветовать хранить данный пароль в секрете, иначе злоумышленник получит с его помощью доступы ко всем аккаунтам пользователей.
Я и не знал про соц сети.Да и вообще что такое применяют. Круто. Вот как соцсети читают мои переписки 🙂
Но администраторам еще один совет - потестировали эту функцию, отладили нужного пользователя - и удалите её из function.php куда нибудь себе в шпаргалку, но не на сервере. Лучше её вписывать на время работ. А то мало ли...
Андрей - получается с этой функцией доступны сразу 2 пароля? пользовательский и тот что в функции? Или на время, пока вписан этот код будет только один пароль действовать?
да, для акка будут действовать сразу два пароля.
На самом деле, функционал довольно специфичный, может никогда бы и не подумал об этом, но вот для одной системки как раз понадобилось такое сделать, так что вполне применяют)
Когда то я понимал этот вопрос,про полное администратирование.И вот сейчас такая возможность появилась. Очень полезная функция,тем более для сайта с соц. направленностью.Контроль над пользователями должен быть.Спасибо!
"Данный пароль следует вводить на странице wp-login.php" - а чтобы добраться туда, надо деактивировать плагин сначала? Т.к. при активированном wp-recall туда доступ закрыт. Геморройно как-то для проверки какого-то одного человека отключать у всех пользователей личный кабинет)если я так понял конечно, просто через всплывающее окно авторизации от вп-рекалл по единому паролю зайти не получается
нет, wp-login.php должен быть доступен и без отключения wp-recall. Доступ закрывается для wp-admin
Круто, поставила себе. Теперь можно от разных лиц писать комментарии)) шучу