Tắt đăng nhập bằng email WordPress
Tắt Đăng Nhập Bằng Email trong WordPress: Hướng Dẫn Chi Tiết
WordPress, một nền tảng quản lý nội dung (CMS) phổ biến, cho phép người dùng đăng nhập bằng cả tên người dùng (username) và địa chỉ email. Mặc dù tính năng này mang lại sự tiện lợi, nhưng trong một số trường hợp, bạn có thể muốn tắt khả năng đăng nhập bằng email để tăng cường bảo mật hoặc đơn giản hóa quy trình đăng nhập cho người dùng. Bài viết này sẽ cung cấp hướng dẫn chi tiết về cách tắt đăng nhập bằng email trong WordPress, bao gồm nhiều phương pháp khác nhau từ sử dụng code, plugin đến chỉnh sửa file `wp-config.php`.
Tại Sao Nên Tắt Đăng Nhập Bằng Email?
Trước khi đi vào chi tiết cách tắt đăng nhập bằng email, hãy xem xét lý do tại sao bạn nên cân nhắc việc này:
- Tăng cường bảo mật: Cho phép đăng nhập bằng email có thể làm tăng nguy cơ tấn công brute-force. Hacker có thể thử nhiều địa chỉ email khác nhau để dò mật khẩu, trong khi việc giới hạn đăng nhập bằng tên người dùng sẽ làm phức tạp quá trình này.
- Đơn giản hóa quy trình đăng nhập: Một số người dùng có thể nhầm lẫn giữa tên người dùng và địa chỉ email, dẫn đến việc nhập sai thông tin đăng nhập. Việc chỉ cho phép đăng nhập bằng tên người dùng có thể giúp giảm thiểu sự nhầm lẫn này.
- Quản lý tài khoản dễ dàng hơn: Nếu bạn có một hệ thống quản lý tài khoản riêng biệt, việc giới hạn đăng nhập bằng tên người dùng có thể giúp bạn đồng bộ hóa dữ liệu người dùng một cách hiệu quả hơn.
Phương Pháp 1: Sử Dụng Code trong File `functions.php`
Một trong những cách phổ biến nhất để tắt đăng nhập bằng email là sử dụng code trong file `functions.php` của theme WordPress của bạn. Cách này yêu cầu một chút kiến thức về lập trình PHP, nhưng nó tương đối đơn giản và hiệu quả.
- Sao lưu file `functions.php`: Trước khi thực hiện bất kỳ thay đổi nào, hãy sao lưu file `functions.php` của theme để đề phòng trường hợp có lỗi xảy ra.
- Truy cập file `functions.php`: Bạn có thể truy cập file `functions.php` thông qua WordPress Dashboard (Giao diện quản trị WordPress) bằng cách vào Appearance > Theme Editor (Giao diện > Trình chỉnh sửa giao diện). Hoặc, bạn có thể sử dụng FTP client để tải file về máy tính, chỉnh sửa và tải lại lên server.
- Thêm code vào file `functions.php`: Dán đoạn code sau vào cuối file `functions.php`, ngay trước thẻ đóng `?>` (nếu có):
function disable_email_login( $username ) {
$user = get_user_by( 'email', $username );
if ( ! empty( $user->user_login ) ) {
$username = $user->user_login;
}
return $username;
}
add_filter( 'authenticate', 'disable_email_login' );
function disable_email_lost_password( $lostpassword_url, $redirect ) {
if ( isset( $_POST['user_login'] ) && is_email( $_POST['user_login'] ) ) {
return add_query_arg( 'error', 'invalidemail', $lostpassword_url );
}
return $lostpassword_url;
}
add_filter( 'lostpassword_url', 'disable_email_lost_password', 10, 2 );
function email_login_error_message( $errors ) {
if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'lostpassword' && isset( $_GET['error'] ) && $_GET['error'] == 'invalidemail' ) {
$errors->add( 'invalid_email', __( 'Không thể sử dụng email để khôi phục mật khẩu. Vui lòng sử dụng tên đăng nhập.', 'textdomain' ) );
}
return $errors;
}
add_filter( 'login_errors', 'email_login_error_message' );
Đoạn code này hoạt động bằng cách sử dụng filter `authenticate` để kiểm tra xem người dùng có đang cố gắng đăng nhập bằng email hay không. Nếu có, nó sẽ tìm tên người dùng tương ứng và sử dụng tên người dùng đó để đăng nhập. Đoạn code cũng chặn việc sử dụng email để khôi phục mật khẩu và hiển thị thông báo lỗi phù hợp.
- Lưu file `functions.php`: Sau khi thêm code, hãy lưu file `functions.php`.
- Kiểm tra: Thử đăng nhập bằng email để xác nhận rằng bạn không còn có thể đăng nhập bằng email nữa.
Phương Pháp 2: Sử Dụng Plugin
Nếu bạn không muốn chỉnh sửa code trực tiếp, bạn có thể sử dụng plugin để tắt đăng nhập bằng email. Có nhiều plugin WordPress miễn phí và trả phí có thể giúp bạn thực hiện việc này.
- Tìm kiếm và cài đặt plugin: Truy cập Plugins > Add New (Plugin > Cài mới) trong WordPress Dashboard. Tìm kiếm các plugin như “Disable Email Login”, “Login Security”, hoặc “WordPress Security”. Chọn một plugin có đánh giá tốt và được cập nhật thường xuyên. Ví dụ: “Login Lockdown” hoặc “WPS Hide Login”.
- Kích hoạt plugin: Sau khi cài đặt, kích hoạt plugin.
- Cấu hình plugin: Tìm cài đặt của plugin (thường trong Settings – Cài đặt) và tìm tùy chọn để tắt đăng nhập bằng email. Tùy chọn này có thể có tên khác nhau tùy thuộc vào plugin bạn chọn, ví dụ: “Disable login by email”, “Username only login”, hoặc tương tự.
- Lưu cài đặt: Lưu các thay đổi bạn đã thực hiện trong cài đặt của plugin.
- Kiểm tra: Thử đăng nhập bằng email để xác nhận rằng plugin hoạt động đúng cách.
Phương Pháp 3: Chỉnh Sửa File `wp-config.php` (Ít Phổ Biến)
Phương pháp này ít phổ biến hơn và thường không được khuyến khích vì nó có thể ảnh hưởng đến các chức năng khác của WordPress. Tuy nhiên, trong một số trường hợp, bạn có thể sử dụng nó để tắt đăng nhập bằng email. **Cảnh báo:** Việc chỉnh sửa file `wp-config.php` có thể gây ra lỗi nghiêm trọng nếu không thực hiện đúng cách. Hãy sao lưu file trước khi thực hiện bất kỳ thay đổi nào.
- Sao lưu file `wp-config.php`: Tạo bản sao của file `wp-config.php` trước khi chỉnh sửa.
- Truy cập file `wp-config.php`: Sử dụng FTP client hoặc trình quản lý file của hosting để truy cập file `wp-config.php`. File này thường nằm ở thư mục gốc của website WordPress.
- Thêm code vào file `wp-config.php`: Thêm đoạn code sau vào file `wp-config.php` (thường là sau định nghĩa của `DB_COLLATE`):
define( 'WP_EMAIL_LOGIN', false );
Đoạn code này định nghĩa một hằng số `WP_EMAIL_LOGIN` và đặt giá trị của nó thành `false`. Mặc dù WordPress không sử dụng trực tiếp hằng số này để tắt đăng nhập bằng email, một số plugin hoặc theme có thể sử dụng nó để kiểm tra xem có cho phép đăng nhập bằng email hay không.
- Lưu file `wp-config.php`: Lưu các thay đổi bạn đã thực hiện.
- Kiểm tra: Mặc dù cách này không chắc chắn hoạt động, hãy thử đăng nhập bằng email để xem có bất kỳ thay đổi nào không. Nếu không có thay đổi, bạn có thể cần kết hợp phương pháp này với một trong các phương pháp khác.
Lời Khuyên Quan Trọng
Dưới đây là một số lời khuyên quan trọng cần ghi nhớ khi tắt đăng nhập bằng email:
- Thông báo cho người dùng: Nếu bạn tắt đăng nhập bằng email, hãy thông báo cho người dùng của bạn để họ biết cách đăng nhập bằng tên người dùng. Bạn có thể thêm thông báo trên trang đăng nhập hoặc gửi email thông báo cho người dùng.
- Kiểm tra sau khi cập nhật: Sau khi cập nhật WordPress, theme, hoặc plugin, hãy kiểm tra lại để đảm bảo rằng việc tắt đăng nhập bằng email vẫn hoạt động. Một số bản cập nhật có thể ghi đè các thay đổi bạn đã thực hiện.
- Sao lưu thường xuyên: Luôn sao lưu website của bạn thường xuyên để đề phòng trường hợp có lỗi xảy ra khi chỉnh sửa code hoặc cài đặt plugin.
Kết luận
Tắt đăng nhập bằng email trong WordPress là một cách hiệu quả để tăng cường bảo mật và đơn giản hóa quy trình đăng nhập. Bạn có thể sử dụng code trong file `functions.php`, plugin, hoặc chỉnh sửa file `wp-config.php` để thực hiện việc này. Hãy nhớ sao lưu website của bạn trước khi thực hiện bất kỳ thay đổi nào và thông báo cho người dùng của bạn về những thay đổi bạn đã thực hiện.
