Trên một số máy chủ khác, WordPress có thể không hiển thị đúng địa chỉ IP trong bảng điều khiển nhận xét hoặc các vị trí khác. Thay vào đó, WordPress hiển thị địa chỉ IP của Localhost là 127.0.0.1. Bài viết này sẽ hướng dẫn cách sửa lỗi WordPress hiển thị địa chỉ IP của Localhost trên bình luận người dùng.
Khắc phục lỗi địa chỉ IP không chính xác trên WordPress
Chú ý: Trước khi sửa đổi bất kỳ tệp nào trong WordPress, hãy tạo một bản sao lưu để đề phòng mọi tình huống không mong muốn có thể xảy ra.
Giải quyết vấn đề này một cách đơn giản nhất bằng cách thêm một đoạn mã vào tệp 'wp-config.php'. Để thực hiện điều này, bạn mở client FTP, đăng nhập vào tài khoản FTP và mở tệp wp-config.php.
Sau khi đã mở tệp, hãy sao chép đoạn mã snippet dưới đây và dán vào phía cuối tệp:
// Mã để hiển thị địa chỉ IP máy khách đúng
Nếu ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
$mte_xffaddrs = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );
$_SERVER['REMOTE_ADDR'] = $mte_xffaddrs[0];
}
Sau đó, lưu lại tệp và tải lại nó lên trang web của bạn.
Từ bây giờ, bạn sẽ thấy địa chỉ IP thực của người dùng trên trang bình luận WordPress và các khu vực khác. Điều này chứng tỏ bạn đã khắc phục thành công lỗi hiển thị địa chỉ IP Localhost trong bình luận.
Có điều gì xảy ra với đoạn mã này?
Khi trang web WordPress đặt sau một proxy HTTP hoặc sử dụng cân bằng tải, HTTP header có tên là 'X-Forwarded-For' được sử dụng để lưu trữ tất cả các địa chỉ IP, bao gồm cả địa chỉ IP thực của máy khách, trong một chuỗi.
Mặc định, địa chỉ IP trong X-Forwarded-For được tách bằng dấu phẩy và địa chỉ IP đầu tiên luôn là của máy khách.
Với đoạn mã trên, chúng ta thu thập và lưu trữ tất cả các địa chỉ IP vào mảng $mte_xffaddrs. Vì địa chỉ IP đầu tiên là của máy khách, nên chúng ta sử dụng chỉ số Zero và gán nó cho REMOTE_ADDR trong mảng $ _SERVER.
Khắc phục lỗi địa chỉ IP sai trên WordPress bằng cách sử dụng Plugin
Nếu bạn không muốn can thiệp vào các tệp cốt lõi của WordPress, hãy sử dụng plugin có tên Proxy Real IP. Mặc dù không được cập nhật gần đây, plugin vẫn hoạt động tốt. Đơn giản là plugin này thực hiện giống như đoạn mã ở trên, chỉ khác là sử dụng hàm preg_match thay vì hàm explode.
Chỉ cần đặt và kích hoạt plugin như bạn thường làm với các plugin khác. Không có trang cấu hình hay tùy chọn để điều chỉnh.
Tải về plugin Proxy Real IP và cài đặt tại đây: Tải Proxy Real IP
Khắc phục lỗi địa chỉ IP không chính xác trên WordPress khi sử dụng Cloudflare
Khi sử dụng proxy như Cloudflare, có khi WordPress hiển thị địa chỉ IP của Cloudflare thay vì địa chỉ IP thực của người truy cập hoặc địa chỉ IP Localhost.
Có một giải pháp đơn giản để khắc phục tình trạng này. Bạn chỉ cần chép đoạn mã sau vào cuối tệp wp-config.php:
// Sửa lỗi IP không chính xác khi sử dụng Cloudflare
if ( array_key_exists( 'HTTP_CF_CONNECTING_IP', $_SERVER ) ) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
}
Đoạn mã trên sử dụng HTTP_CF_CONNECTING_IP để lấy địa chỉ IP thật của máy khách và chỉ đơn giản gán REMOTE_ADDR bằng địa chỉ IP đó.
Ở đây, Mytour đã hướng dẫn một số cách khắc phục lỗi khi WordPress hiển thị địa chỉ IP Localhost trong bình luận người dùng. Bạn có gặp vấn đề này không? Hãy chia sẻ ý kiến của bạn với Mytour nhé.
Nếu bạn quan tâm đến WordPress và muốn khám phá nền tảng website này, đầu tiên bạn có thể cài đặt WordPress trên localhost để làm quen và tìm hiểu về nó.
Sau khi cài đặt thành công, bắt đầu sáng tạo theo phong cách riêng của bạn nhé! Thiết kế và tạo trang WordPress sẽ trở nên dễ dàng hơn với bài hướng dẫn này. Chúc bạn thành công trong hành trình sáng tạo mới!
