Bạn Tìm Gì Hôm Nay ...?
Tất cả đều có chỉ trong 1 nốt nhạc !
Nếu cần hỗ trợ chi tiết gọi 1900 9477
XML-RPC, một trong những cơ chế của WordPress, được phát triển để chuẩn hóa giao tiếp giữa các hệ thống khác nhau. Điều này có nghĩa là các ứng dụng bên ngoài WordPress (chẳng hạn như các nền tảng blog khác và ứng dụng khách trên máy tính để bàn) có thể tương tác với WordPress.
XML-RPC là tính năng của WordPress để giúp truyền tải dữ liệu, với HTTP làm công cụ truyền và XML làm công cụ encode (mã hóa). Vì WordPress không phải là hệ thống đóng hoàn toàn nên tính năng này được tạo ra để khi WordPress cần giao tiếp với các hệ thống bên ngoài.
Ví dụ, bạn muốn đăng bài viết lên site từ điện thoại và không có máy tính bên cạnh. Bạn có thể dùng tính năng truy cập từ xa được kích hoạt bởi xmlrpc.php để đăng bài.
Chức năng chính mà xmlrpc.php kích hoạt là cho phép giao tiếp giữa điện thoại và site của bạn được thiết lập, thiết lập trackback và pingbacks từ các site khác và một số tính năng liên kết với plugin Jetpack.
Trong những năm trước đây, XMLRPC.PHP là một hệ thống được sử dụng tương đối phổ biến vì những tính năng đặc biệt của nó. Trong đó, nổi bật nhất là khả năng truy cập và chỉnh sửa nội dung trên WordPress mà không cần phải kết nối internet vì trước đây internet chưa phát triển như bây giờ nên việc truy cập mạng thường không mượt và mất nhiều thời gian.
Tính năng của hệ thống này là tạo nên một trang web offline được kết nối với trang web chính. Khi người dùng chỉnh sửa và đăng tải nội dung xong, chỉ cần kích hoạt XMLRPC.PHP, bài viết sẽ được đăng tải lên web.
Hiện nay với sự ra đời của những ứng dụng cho phép người dùng truy cập trang web bằng điện thoại ra đời cùng mạng lưới internet phát triển vượt trội, XMLRPC.PHP đã mất đi vị trí độc tôn và không còn được sử dụng phổ biến như trước đây nữa.
Trong WordPress, XML-RPC gồm có 2 phần chính: XML-RPC server và XML-RPC client:
Để kích hoạt XML-RPC trong WordPress, bạn cần thực hiện 3 bước như sau:
Bước 1: Cài plugin “Control XML-RPC publishing”
Bước 2: Trên WordPress, chọn Settings ->Write -> Remote publishing with XML-RPC -> Enabled
Bước 3: Nhấn Save changes để lưu thay đổi. Vậy là XML-RPC đã được kích hoạt.
Đăng ký hàm XML-RPC mới: Để tạo một hàm XML-RPC mới, cần thực hiện các bước như sau:
add_filter( 'xmlrpc_methods', 'add_xml_rpc_methods' );
function add_xml_rpc_methods( $methods ) {
$methods['frs.helloWorld'] = 'hello_world';
return $methods;
}
Ở ví dụ trên, chúng ta đăng ký hàm helloWorld thuộc namespace mới frs, và khai báo lời gọi hàm callback hello_worldcho hàm helloWorld.
Phần định nghĩa hàm callback. Xem ví dụ mẫu:
function hello_world($params){
global $wp_xmlrpc_server;
$arg1 = $params[1];
return "Hello ".$wp_xmlrpc_server->escape( $arg1 );
}
*Chú ý: Hàm cần trả về giá trị, giá trị này sẽ được lấy khi gọi hàm. Không sử dụng echo,print để xuất chuỗi ra màn hình.
Xóa hàm RPC: Phương pháp xóa hàm RPC cũng tương tự như đăng ký hàm:
Tương tự như cách tạo hàm, sử dụng xmlrpc_methods để xóa các hàm không mong muốn. Thêm vào functions.php
function mynamespace_remove_xmlrpc_methods( $methods ) {
unset( $methods['demo.addTwoNumbers'] );
unset( $methods['frs.helloWorld'] );
return $methods;
}
add_filter( 'xmlrpc_methods', 'mynamespace_remove_xmlrpc_methods');
Trước đây, XML-RPC được sử dụng phổ biến. Nhưng ngày nay, hệ thống này dần xuất hiện những hạn chế, cùng với đó là sự xuất hiện của những phần mềm mới, mà XML-RPC không còn được khuyến khích sử dụng.
Khuyết điểm lớn nhất của XML-RPC là độ bảo mật kém. Dẫn đến việc các hacker có thể tấn công trang web dễ dàng. Bằng việc sử dụng file xmlrpc.php, hệ thống tin tặc có thể dùng nhiều phương pháp khác nhau để có được mật khẩu truy cập trang web. Thậm chí, với hệ thống này, quá trình tấn công DdoS được thực hiện tương đối thường xuyên, khiến trang web hay bị down.
Vì thế khi sử dụng WordPress, nhiều người dùng thường vô hiệu hoá chức năng này để tránh tình trạng bị hacker xâm nhập thông qua XML-RPC.
Hiện nay, WordPress API đang trong giai đoạn thử nghiệm. Và hệ thống API cũng có chức năng tương tự như XML-RPC, được hình thành thông qua việc code trực tiếp vào trong WordPress core.
Sự xuất hiện của API dự đoán sẽ hoàn toàn thay thế cho XML-RPC trong tương lai bởi tính năng bảo mật tốt cũng như khắc phục được mọi hạn chế mà XML-RPC đang mắc phải.
Để nhận biết website của bạn đang bị tấn công, cách đơn giản nhất chính là kiểm tra tệp tin access_log. Nếu phát hiện số lượng người truy cập tăng lên một cách đột biến thì đây chính là dấu hiệu cho việc trang web của bạn đang bị tấn công qua XML-RPC.
Ví dụ như:
Để giải quyết tình trạng này, một phương pháp hữu hiệu nhất chính là vô hiệu hóa XML-RPC đi. Vì khi cài đặt WordPress, XML-RPC đã được cài đặt sẵn nên người dùng cần thực hiện một vài thao tác để tắt nó đi. Trên thực tế, có rất nhiều cách để tiến hành vô hiệu hóa giao thức này.
Bước 1: Truy cập WordPress dashboard
Bước 2: Di chuyển đến mục Plugins -› Add New Disable XML-RPC -› plugin Disable XML-RPC
Bước 3: Kích hoạt plugin Disable XML-RPC để vô hiệu hoá XML-RPC
Tuy nhiên, một vấn đề có thể xảy ra khi tiến hành vô hiệu hoá XML-RPC bằng phương pháp này đó là khi xảy ra trường hợp những plugin khác cũng đang dùng một yếu tố của XML-RPC. Vì vậy, việc vô hiệu hóa plugin có thể sẽ khiến trang web của bạn ngừng hoạt động.
Để giải quyết tình trạng này, bạn có thể sử dụng phương pháp sau:
Bước 1: Truy cập tập tin .htaccess ở thư mục gốc của trang web (Trong trường hợp máy tính mua Web Hosting hoặc thuê máy chủ có cài đặt Apache)
Bước 2: Chèn đoạn code sau vào tệp tin:
# DISABLE XML RPC
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
#END
Bước 1: Truy cập tập tin cấu hình domain trên Nginx.
Bước 2: Chèn đoạn code sau vào tệp tin trên:
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}
Bước 3: Chọn service nginx restart để khởi động lại Nginx.
Bài viết trên đã chia sẻ những thông tin đầy đủ về XML-RPC. Hy vọng bài viết sẽ giúp bạn hiểu được khái niệm XML-RPC cũng như nguyên nhân tại sao bạn nên vô hiệu hóa XML-RPC trong WordPress tránh tình trạng bị đánh cắp thông tin dữ liệu trên trang web.
P.A Việt Nam cung cấp đa dạng các Plan Hosting WordPress đáp ứng yêu cầu của khách hàng
WordPress Hosting phổ thông
WordPress Hosting chất lượng cao
WordPress VIP
Tham khảo các bài viết liên quan đến wordpress hosting : https://kb.pavietnam.vn/category/phan-mem/open-source/wordpress
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/