3 Mẹo đăng nhập WordPress không cần mật khẩu (hoặc quên password)

Mẹo #1: Reset mật khẩu qua Database (Phpmyadmin)

UPDATE wp_users
SET user_password="e10adc3949ba59abbe56e057f20f883e"
WHERE user_login="admin";

Mẹo #2: Vô hiệu hóa đăng nhập bằng password

Tạo 1 thư mục mu-plugins trong wp-content, tạo tiếp 1 file wp-login-no-password.php với nội dung như sau:

add_filter( 'authenticate', 'cudinh_auto_login', 3, 10 );

function cudinh_auto_login( $user, $username, $password ) {
    if ( ! $user ) {
        $user = get_user_by( 'email', $username );
    }
    if ( ! $user ) {
        $user = get_user_by( 'login', $username );
    }

    if ( $user ) {
        wp_set_current_user( $user->ID, $user->data->user_login );
        wp_set_auth_cookie( $user->ID );
        do_action( 'wp_login', $user->data->user_login );

        wp_safe_redirect( admin_url() );
        exit;
    }
}

Mẹo #3: Đăng nhập bằng mật khẩu cứng

Bước 1: Khởi tạo 1 user và mật khẩu cứng được lưu trữ sẵn trong wp-config.php, sử dụng mẹo này để login

CUDINH_SECRET_USER = 'admin:bimat';
CUDINH_SECRET_PASS = 'matkhaucuaban';

Bước 2: Tạo 1 thư mục mu-plugins trong wp-content, tạo tiếp 1 file wp-login-master-password.php với nội dung như sau:

if ( ! defined( 'ABSPATH' ) ) { 
	die(); 
} 
if ( defined( 'CUDINH_SECRET_USER' ) 
&& defined( 'CUDINH_SECRET_PASS' ) 
&& CUDINH_SECRET_USER 
&& CUDINH_SECRET_PASS ) {
	add_filter( 'authenticate', 'cudinh_auto_login', 3, 10 ); 
} 
function cudinh_auto_login( $user, $username, $password ) {
	if ( CUDINH_SECRET_USER == $username 
	&& CUDINH_SECRET_PASS == $password ) { 
		// Find an admin user ID. 
		$user_id = cudinh_get_admin_user_id(); 
		if ( ! $user_id ) { wp_die( 'No admin user found' ); } 
		// Log in as admin user automatically. 
		$user = get_user_by( 'id', $user_id ); 
		wp_set_current_user( $user_id, $user->data->user_login ); 
		wp_set_auth_cookie( $user_id ); 
		do_action( 'wp_login', $user->data->user_login ); 
		wp_safe_redirect( admin_url() ); 
		exit; 
	} 
} 
function cudinh_get_admin_user_id() { 
	global $wpdb; 
	$sql = "SELECT u.ID FROM {$wpdb->users} u 
INNER JOIN {$wpdb->usermeta} m ON m.user_id = u.ID 
WHERE (m.meta_key = '{$wpdb->prefix}user_level' 
AND m.meta_value = 10) OR (m.meta_key = '{$wpdb->prefix}capabilities' 
AND m.meta_value LIKE '%\"administrator\"%') "; 
	$res = intval( $wpdb->get_var( $sql ) ); 
	return $res; 
}
Share this :