- Tổng đài 24/7: 1800 646 881
- Đăng nhập
- 3
XML-RPC là gì? Nó có vai trò gì đối với trang web WordPress? Và làm cách nào để nâng cao bảo mật cho website WordPress?
Bài viết này của BKHOST sẽ giúp các bạn làm rõ về các vấn đề trên. Nào, chúng ta hãy cùng bắt đầu!
XML-RPC là một tính năng dùng để truyền tải dữ liệu của WordPress.
Nó sử dụng HTTP làm công cụ truyền tải dữ liệu và XML làm công cụ mã hóa (encode).
Tính năng này được WordPress xây dựng và phát triển nhằm mục đích giao tiếp với các hệ thống bên ngoài vì WordPress không phải là hệ thống đóng hoàn toàn.
XML-RPC cho phép người dùng thiết lập kết nối từ điện thoại đến website. Đồng thời nó cũng cho phép thiết lập trackbacks và pingbacks từ các trang web khác, cùng các tính năng liên kết với plugin Jetpack.
Trước đây, khi mạng internet còn nhiều hạn chế, quá trình tạo và đăng bài diễn ra rất chậm, khiến tiêu tốn rất nhiều thời gian. Vì vậy, người ta thường ít khi viết bài trực tiếp vào trình duyệt mà soạn thảo trên máy tính. Sau đó copy paste vào website. Cách làm này tuy khá dễ dàng nhưng nó chưa phải tốt nhất.
Để giải quyết vấn đề này, XML-RPC ra đời, nó giúp kết nối, và truyền tải dữ liệu từ một blogging client offline nào đó (nơi người dùng viết nội dung) đến trang web.
Năm 2008, WordPress đã tung ra phiên bản WordPress 2.6, bạn có thể tùy chọn kích hoạt hoặc vô hiệu XML-RPC . Tuy nhiên, kể từ khi ứng dụng WordPress iPhone app ra đời thì XML-RPC theo mặc định đã được kích hoạt, và bạn không thể tắt hoàn toàn tính năng này trong setting. Kể từ đó trạng thái này vẫn được duy trì đến nay.
Theo thời gian, chức năng của file xmlrpc.php này đã bị giảm đi đáng kể, và kích thước của file đã bị rút gọn đi rất nhiều từ 83kb còn 3kb. Vì vậy, đến thời điểm hiện tại, file này không còn đóng vai trò quá lớn như trước đây.
Với sự xuất hiện của WordPress API mới, trong tương lai XML-RPC có thể sẽ bị loại bỏ hoàn toàn khỏi mã nguồn WordPress. Mặc dù hiện nay API mới vẫn còn đang trong quá trình thử nghiệm và bạn chỉ có thể sử dụng khi kích hoạt plugin.
WordPress API mới trong tương lai sẽ được viết trực tiếp vào WordPress core, để thay thế hoàn toàn cho file xmlrpc.php, vì file này không còn cần thiết nữa.
Có thể khẳng định, API mới sẽ ngày càng được cải tiến và mạnh mẽ hơn theo thời gian, nó sẽ giải quyết tất cả các vấn đề mà XML-RPC đang gặp phải.
Về bản chất, XML-RPC bao gồm 2 thành phần cơ bản là XMLRPC server và XMLRPC client.
XMLRPC server là một web server, nó có nhiệm vụ tiếp nhận thông tin đã được mã hóa từ XMLRPC client.
XMLRPC client có 2 nhiệm vụ:
Nhược điểm lớn nhất của XML-RPC là nằm ở vấn đề bảo mật. Mà nguyên nhân cốt lõi lại đến từ việc file xmlrpc.php bị lợi dụng để tấn công brute force lên chính website sử dụng nó.
Tất nhiên, bạn có thể phòng tránh bằng cách sử dụng mật khẩu cực mạnh, và cài thêm plugin bảo mật. Nhưng cách đơn giản và hiệu quả nhất vẫn là vô hiệu hóa hoàn toàn file này.
XML-RPC tồn tại 2 yếu điểm khiến nó dễ lạm dụng:
Để kiểm tra XML-RPC có đang hoạt động hay không, bạn hãy sử dụng tool XML-RPC Validator để chạy thử. Nếu website vẫn hoạt động bình thường và xuất hiện thông báo lỗi thì website của bạn chưa được kích hoạt XML-RPC.
Để vô hiệu hóa XML-RPC trong WordPress bạn có thể sử dụng một trong hai phương pháp sau:
Cách này tương đối đơn giản, bạn chỉ cần tải, cài đặt và kích hoạt plugin là xong. Cụ thể bạn cần thực hiện theo hướng đẫn sau:
Đầu tiên, bạn cần truy cập vào trang quản trị Admin, rồi click vào mục Plugins, chọn Add New.
Tiếp đến, bạn tìm plugin tên là “Disable XML-RPC”. Tìm đến plugin như bên dưới và tiến hành cài đặt.
Sau khi cài đặt xong, click vào “Active Now” để kích hoạt. Sau khi kích hoạt plugin sẽ tự động thực thi các lệnh code cần thiết để vô hiệu XML-RPC.
Tuy nhiên, bạn cần lưu ý có thể sẽ có một số plugin khác đang sử dụng một tính năng nào đó của XML-RPC. Vì vậy, nếu tắt nó hoàn toàn có thể sẽ có thể dẫn đến xung đột plugin và khiến trang web của bạn ngừng hoạt động.
Để khắc phục tình trạng trên, bạn có thể tắt từng phần của XML-RPC (vẫn cho phép plugin và chức năng nào chạy), hãy sử dụng một số plugin dưới đây:
Nếu không muốn sử dụng plugin, thì bạn có thể vô hiệu file xmlrpc.php bằng cách sử dụng file htaccess. File này sẽ giúp bạn ngăn chặn các request tới xmlrpc.php trước khi được đưa tới WordPress.
Tìm hiểu thêm về file .htaccess tại đây:
Đầu tiên, bạn cần mở file .htaccess lên. Thường thì file này sẽ bị ẩn, bạn hãy sử dụng tính năng “show hidden files” để có thể nhìn thấy nó.
Sau đó, bạn hãy dán đoạn code dưới đây vào trong file này.
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>
Như vậy, các bạn có thể thấy rằng XMLRPC là một giải pháp để truyền tải dữ liệu và đăng bài từ xa cho các website WordPress. Tuy nhiên, giải pháp này tồn tại nhiều lỗ hổng bảo mật và tạo điều kiện cho hacker tấn công. Vì vậy, để đảm bảo an toàn bạn nên tắt tính năng này đi.
Hy vọng với những thông tin mà BKHOST chia sẻ ở trên sẽ giúp bạn hiểu rõ hơn về XMLRPC. Nếu bạn có bất cứ thắc mắc nào liên quan đến XMLRPC, hãy để lại comment ở bên dưới, chúng tôi sẽ trả lời bạn trong thời gian sớm nhất.
Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kinh nghiệm quản trị website, domain, hosting, vps, server, email doanh nghiệp… Chúc bạn thành công.
Thuê Cloud Server tại BKHOST
Giảm giá cực sâu, chất lượng hàng đầu. Đăng ký ngay hôm nay: