Публикация в группе: Полезное для WordPress

Приветствую!

Наверняка вы слышали, что у таких больших сайтов как Фейсбук или Вконтакте существует единый пароль ко всем аккаунтам соцсети. Может и слухи, подтвердить я не могу, но одно ясно точно, такая фишка очень удобна для администрации сайта и может быть востребована в случаях когда надо проверить работу аккаунта авторизовавшись на сайте под логином пользователя.

Эту возможность можно использовать, например, для фиксации ошибок в работе сайта под определенным аккаунтом и если вам приходится периодически решать задачу с авторизацией под чужим аккаунтом на вашем сайте для административных целей, то наличие единого пароля вам точно не помешает.

Без особо сильного разбора кода предоставляю вам функцию, которая поможет вам создать на вашем сайте единый пароль для всех аккаунтов просто разместив функцию в файле 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, в других случаях я не гарантирую работу пароля.

Остается лишь посоветовать хранить данный пароль в секрете, иначе злоумышленник получит с его помощью доступы ко всем аккаунтам пользователей.

3

Автор публикации

не в сети 2 дня

Андрей CS

12K
занят
Комментарии: 2729Публикации: 481Регистрация: 30-11--0001Продаж/Покупок: 0/0