Kéo dài thời gian đăng nhập WordPress và các thủ thuật hữu ích tại trang đăng nhập

Trang đăng nhập WordPress là khu vực quan trọng nhất trong toàn bộ hệ thống quản trị. Đây là nơi quyết định trải nghiệm sử dụng của admin và cũng là điểm nhạy cảm nhất dễ bị tấn công. Bài viết này hướng dẫn cách kéo dài thời gian đăng nhập (đặc biệt khi bật “Ghi nhớ”) và tổng hợp các thủ thuật tối ưu trang đăng nhập vừa tiện lợi vừa an toàn.

Kéo dài thời gian đăng nhập WordPress và các thủ thuật hữu ích tại trang đăng nhập

Vì sao cần kéo dài thời gian đăng nhập?

Mặc định WordPress kết thúc phiên đăng nhập khá nhanh. Nếu không bật “Ghi nhớ”, cookie chỉ tồn tại khoảng 2 ngày. Với những quản trị viên làm việc thường xuyên trên thiết bị cá nhân, điều này gây phiền toái vì phải đăng nhập lặp lại. Kéo dài thời gian đăng nhập giúp tiết kiệm thời gian và tạo trải nghiệm mượt mà hơn.

Kéo dài thời gian đăng nhập lên 30 ngày khi bật “Ghi nhớ”

Bạn có thể điều chỉnh thời gian sống của cookie đăng nhập bằng filter auth_cookie_expiration. Đoạn code dưới đây chỉ tác động khi người dùng tick “Ghi nhớ”, ngược lại giữ nguyên mặc định.

// Extend WP login duration to 30 days when "Remember me" is checked
add_filter('auth_cookie_expiration', function($length, $user_id, $remember) {
    if ($remember) {
        return 30 * DAY_IN_SECONDS;
    }
    return $length;
}, 10, 3);

Giới hạn theo vai trò người dùng

Nếu có nhiều vai trò khác nhau, bạn có thể chỉ cho phép admin hoặc editor kéo dài phiên đăng nhập.

add_filter('auth_cookie_expiration', function($length, $user_id, $remember) {
    if (!$remember) return $length;

    $user = get_user_by('id', $user_id);
    if (!$user) return $length;

    $allowed = ['administrator', 'editor'];
    if (array_intersect($allowed, (array) $user->roles)) {
        return 30 * DAY_IN_SECONDS;
    }

    return $length;
}, 10, 3);

Các lưu ý bảo mật khi kéo dài đăng nhập

Kéo dài phiên đăng nhập chỉ nên thực hiện trên thiết bị cá nhân. Nếu thiết bị chung hoặc dễ bị truy cập, tuyệt đối không sử dụng “Ghi nhớ”. Ngoài ra, hãy luôn bật khóa màn hình hoặc mật khẩu hệ điều hành để đảm bảo an toàn.

Thay đổi logo trên trang đăng nhập

Để đồng bộ thương hiệu, bạn có thể thay logo mặc định của WordPress bằng logo riêng.

add_action('login_enqueue_scripts', function() {
    $logo_url = get_stylesheet_directory_uri() . '/assets/img/login-logo.png';
    ?>
    <style>
        .login h1 a {
            background-image: url('<?php echo esc_url($logo_url); ?>');
            background-size: contain;
            width: 100%;
            height: 80px;
        }
    </style>
    <?php
});

add_filter('login_headerurl', function() {
    return home_url('/');
});

Đổi URL đăng nhập để giảm brute force

Brute force thường nhắm vào /wp-login.php. Đổi sang URL khác giúp giảm tấn công đáng kể. Có thể sử dụng plugin như WPS Hide Login, đây là cách nhanh và an toàn cho hầu hết website.

Giới hạn số lần đăng nhập sai

Nên giới hạn số lần nhập sai mật khẩu để chống brute force. Các plugin phổ biến gồm Limit Login Attempts Reloaded, Wordfence và iThemes Security.

Bật xác thực hai lớp (2FA)

2FA giúp bảo mật tài khoản mạnh hơn. Ngay cả khi mật khẩu bị lộ, hacker vẫn không thể đăng nhập. WP 2FA, Google Authenticator và Wordfence đều hỗ trợ tốt.

Thêm CAPTCHA vào form đăng nhập

CAPTCHA giúp ngăn bot đăng nhập. Cloudflare Turnstile là lựa chọn nhẹ và thân thiện hơn reCAPTCHA.

Ẩn lỗi đăng nhập chi tiết

WordPress có thể tiết lộ username hợp lệ qua thông báo lỗi. Bạn nên ẩn thông tin này để tránh bị dò tài khoản.

add_filter('login_errors', function() {
    return __('Login failed. Please check credentials.', 'textdomain');
});

Chuyển hướng sau đăng nhập theo vai trò

Tối ưu redirect giúp người dùng tới đúng nơi họ cần ngay sau khi đăng nhập.

add_filter('login_redirect', function($redirect_to, $request, $user) {
    if (!isset($user->roles) || !is_array($user->roles)) {
        return $redirect_to;
    }

    if (in_array('administrator', $user->roles, true)) {
        return admin_url();
    }

    if (in_array('editor', $user->roles, true)) {
        return admin_url('edit.php');
    }

    return home_url('/');
}, 10, 3);

Bật sẵn “Remember me” để trải nghiệm tốt hơn

Nếu website chủ yếu do admin sử dụng trên thiết bị cá nhân, có thể tự động tick “Ghi nhớ”.

add_action('login_enqueue_scripts', function() {
    ?>
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        var el = document.getElementById('rememberme');
        if (el) el.checked = true;
    });
    </script>
    <?php
});

Checklist bảo mật nhanh cho trang đăng nhập

  • Kéo dài thời gian đăng nhập theo nhu cầu.
  • Đổi URL đăng nhập để giảm brute force.
  • Giới hạn số lần nhập sai.
  • Bật 2FA cho admin.
  • Thêm CAPTCHA vào form đăng nhập.
  • Ẩn thông báo lỗi nhạy cảm.
  • Redirect theo vai trò người dùng.

Kết luận

Kéo dài thời gian đăng nhập WordPress là cách cải thiện trải nghiệm quản trị rõ rệt. Khi kết hợp với các biện pháp bảo mật cần thiết như giới hạn login sai, 2FA và CAPTCHA, trang đăng nhập sẽ an toàn và tiện dụng hơn rất nhiều.

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...