Code hướng dẫn Disable use XML-RPC không cần sử dụng plugin
XML-RPC là gì?
XML-RPC là một tính năng của WordPress. Nó cho phép một thiết bị từ xa như ứng dụng WordPress trên điện thoại thông minh của bạn gửi dữ liệu đến trang web WordPress của bạn. Nếu bạn muốn xuất bản một bài báo trên trang web WordPress của mình thông qua ứng dụng WordPress, thì XML-RPC là thứ cho phép bạn làm điều đó.
Nếu bạn nhìn vào cụm từ XML-RPC, nó có hai phần. RPC là một cuộc gọi thủ tục từ xa có nghĩa là bạn có thể gọi từ xa cho các hành động được thực hiện. Và ở đây, XML (Ngôn ngữ đánh dấu có thể mở rộng) được sử dụng để mã hóa dữ liệu cần được gửi đi.
Bạn có cần XML-RPC không?
Để quyết định xem bạn có cần XMLRPC hay không, trước tiên bạn phải hiểu những chức năng nào mà XMLRPC phục vụ trên trang web WordPress của bạn. Tệp phục vụ ba chức năng chính:
- Ứng dụng WordPress – Nếu bạn sử dụng ứng dụng WordPress trên thiết bị di động để đăng lên trang web của mình, bạn cần có XML-RPC. Ứng dụng sử dụng chức năng này để giao tiếp với trang web WordPress của bạn bằng cách tạo kết nối từ xa.
- Trackbacks và pingbacks – Khi bạn xuất bản nội dung, nếu bạn đã cung cấp liên kết đến blog hoặc trang web khác, tính năng này sẽ cảnh báo trang web khác mà bạn đã liên kết với chúng. Trackbacks được tạo theo cách thủ công trong khi pingbacks được tự động hóa. Nếu bạn sử dụng các tùy chọn này, bạn cần có quyền truy cập vào tệp XML-RPC.php để được kích hoạt.
- Plugin JetPack – JetPack là một plugin phổ biến được hơn 5 triệu trang web WordPress sử dụng. Nó cung cấp các dịch vụ liên quan đến bảo mật, hiệu suất và quản lý trang web. Nó sử dụng XML-RPC để giao tiếp với WordPress.com. Nếu bạn là người đăng ký JetPack, bạn cần bật XML-RPC.
XML-RPC có nguy hiểm không?
Câu trả lời thẳng thắn là không. Nhưng chúng ta không thể dừng lại ở đó. Hãy lùi lại một bước.
Ban đầu, cài đặt thủ công WordPress có XML-RPC bị tắt theo mặc định. Để kích hoạt nó, bạn phải đi tới Cài đặt> Viết> Xuất bản từ xa. Tuy nhiên, từ phiên bản 3.5 trở đi, WordPress đã bật tính năng này theo mặc định và tùy chọn bật hoặc tắt nó đã bị loại bỏ.
Vào tháng 9 năm 2015, một lỗ hổng đã xuất hiện trong hàm XML-RPC. WordPress đã phát hành một bản vá ngay lập tức trong phiên bản 4.4.1. Nhưng hàng triệu trang web vẫn đang chạy trên các phiên bản lỗi thời khiến chúng có nguy cơ bị tấn công.
XML-RPC an toàn, miễn là bạn đã cài đặt WordPress phiên bản 4.4.1 trở lên.
Vậy tại sao chúng tôi khuyên bạn nên tắt nó?
Tin tặc cố gắng tìm bất kỳ yếu tố nào trên trang web của bạn có điểm yếu. Họ khai thác nó và đột nhập vào trang web của bạn. Với XML-RPC, có hai điểm yếu có thể bị tin tặc khai thác:
- Khi bạn muốn xuất bản nội dung từ một thiết bị từ xa, một yêu cầu XML-RPC sẽ được tạo. Những yêu cầu này được xác thực bằng tên người dùng và mật khẩu đơn giản. Đây là một kiểm tra bảo mật cơ bản. Nếu một hacker nắm được các thông tin đăng nhập này, họ có thể sử dụng nó để gửi các yêu cầu của riêng mình. Bằng cách này, họ có quyền truy cập vào trang web của bạn.
- XML-RPC được thiết kế để người dùng xuất bản nội dung với số lượng lớn. Điều này cho phép các cuộc tấn công brute force trong đó tin tặc sử dụng bot để cố gắng đoán tên người dùng và mật khẩu của bạn. Thông qua chức năng XML-RPC, họ có thể thực hiện các nỗ lực đăng nhập bằng cách gửi một lượng lớn để đoán thông tin đăng nhập của bạn.
Để sử dụng bạn copy đoạn code sau vào file Function.php trong thư mục theme bạn đang sử dụng nhé!
// Disable use XML-RPC add_filter( 'xmlrpc_enabled', '__return_false' ); // Disable X-Pingback to header add_filter( 'wp_headers', 'disable_x_pingback' ); function disable_x_pingback( $headers ) { unset( $headers['X-Pingback'] ); return $headers; }
Ngoài ra vẫn có plugin để disable nó nhưng chúng ta nên sử dụng code để tối ưu tốc độ website khỏi những tài nguyên không cần thiết.
Chúc các bạn thành công!