Wordpress là mã nguồn mở quản lý nội dung phổ biến nhất hiện nay, vì thế đường dẫn mặc định của Wordpress hầu như ai cũng biết là /wp-login.php việc để đường dẫn mặc định như vậy về lâu dài rất dễ là con mồi ngon cho những Hacker có ý định muốn xâm phạm đến web của bạn. Trong bài viết này mình sẽ hướng dẫn bạn cách bảo vệ đường dẫn đăng nhập bằng cách thay đổi đường dẫn mặc định.

Trước
http://wordpres.local/wp-login.php
Sau
http://wordpress.local/abc-xyz

Cách 1, dùng plugin WPS Hide Login

Bạn vào plugin và tìm WPS Hide Login sau đó cài đặt kích hoạt nó lên nhé.

Kế tiếp bạn vào Setting > WPS Hide Login

Ở bước số 4, bạn có thể tùy biến đường dẫn theo ý bạn, mặc định là /login.

Kết quả:

Cách 2, ta sẽ tự cấu hình bằng tay

Ta sẽ có kịch bản như sau, mặc định đường dẫn là /wp-login.php ta sẽ đổi sang thành /secure/login.php hoặc tùy bạn thay như thế nào nhé.

Khi người dùng truy cập vào wp-login.php ta sẽ redirect họ quay về trang chủ. Hacker có truy cập vào cũng bị redirect chỉ có bạn biết được đường dẫn thực sự là gì.

Nhưng đã thay đổi đường dẫn thì phải thay đổi tất cả ví dụ đăng xuất, quên mật khẩu vì mặc định wordpress chỉ dùng 1 file wp-login.php đảm nhận tất cả.

Bước 1

Bạn mở file functions.php trong theme của bạn và dán đoạn mã mà mình đã code sau.

// Redirect đường dẫn đăng nhập ra trang chủ
    add_filter( 'login_url', 'my_login_page', 10, 3 );
    function my_login_page( $login_url, $redirect, $force_reauth ) {
        return home_url( '/');
    }

    // Thay đổi đường dẫn khi admin quên mật khẩu
    function custom_lost_password_url($lostpassword_url) {
      return '/secure/login.php?action=lostpassword';
    }

    add_filter('lostpassword_url', 'custom_lost_password_url', 10, 2);

    // Thay đổi lại đường dẫn khi admin logout
    add_filter( 'logout_url', 'custom_logout_url');
    function custom_logout_url( $login_url)
    {
       $url = str_replace( 'wp-login', '/secure/login', $login_url );
       return $url;
    }

Bạn lưu ý thay đổi /secure/login thành đường dẫn của bạn

Bước 2:

Tạo folder secure

Copy file wp-login.php ở thư mục root vào thư mục secure và đổi tên là login.php

Mở file logo.php và thay đổi lại đường dẫn file wp-load.php như sau ../../wp-load.php. vì file login.php nằm trong secure nên cần lùi cấp bằng ../

Nhấn CMD + OPTION + F (Mac) / Ctrl + ALT + F (Win) mục đích để thay thế wp-login thành '/secure/login.php'

Kết quả như sau:

code67

Cám ơn bạn đã đọc bài viết, nếu có gì thắc mắc vui lòng comment nhé.