Bạn có bao giờ tự hỏi tại sao website WordPress của mình hoạt động chậm hoặc dễ bị tấn công? Một trong những nguyên nhân có thể đến từ xmlrpc.php – một tính năng hỗ trợ kết nối từ xa nhưng cũng là cánh cửa để hacker tấn công. Vậy xmlrpc.php trong WordPress là gì? Hãy cùng Tino tìm hiểu ngay qua bài viết dưới đây bạn nhé!
xmlrpc.php trong WordPress là gì?
xmlrpc.php là một tệp trong WordPress cho phép website của bạn kết nối và giao tiếp từ xa với các ứng dụng bên ngoài. Thông thường, tệp này sẽ được sử dụng để gửi và nhận dữ liệu giữa WordPress cũng như các nền tảng khác, như ứng dụng di động, phần mềm viết blog từ xa (như Open Live Writer) hoặc các dịch vụ tự động hóa.

Trước khi REST API ra đời, xmlrpc.php là giải pháp chính giúp WordPress có thể hoạt động với các hệ thống bên ngoài. Tuy nhiên, do có nhiều lỗ hổng bảo mật, xmlrpc.php cũng là mục tiêu phổ biến của hacker để tấn công DDoS, Brute Force và các hình thức xâm nhập khác. Vì vậy, nhiều quản trị viên website thường vô hiệu hóa xmlrpc.php để tăng cường bảo mật.
Mục đích sử dụng của xmlrpc.php trong WordPress
xmlrpc.php là một giao thức được phát triển từ những năm 1998, cho phép truyền dữ liệu giữa các hệ thống khác nhau thông qua mạng Internet.
Khi WordPress ra đời vào năm 2003, xmlrpc.php đã được tích hợp để giúp website có thể kết nối với các dịch vụ bên ngoài, nhất là trong bối cảnh Internet lúc đó chưa có các API hiện đại như ngày nay. Nhờ xmlrpc.php, người dùng có thể:
- Viết và đăng bài từ xa thông qua các ứng dụng blog như Open Live Writer hoặc phần mềm quản lý nội dung.
- Kết nối WordPress với ứng dụng di động để quản lý bài viết, nhận thông báo và cập nhật nội dung.
- Đồng bộ hóa dữ liệu với các nền tảng khác như hệ thống CRM, công cụ tự động hóa hoặc mạng xã hội.
Tuy nhiên, với sự ra đời của REST API trong các phiên bản WordPress hiện đại, xmlrpc.php dần trở nên lỗi thời và không còn là phương thức kết nối tối ưu. Thay vào đó, REST API mang đến nhiều cải tiến về tốc độ, tính linh hoạt và đặc biệt là bảo mật tốt hơn. Vì vậy, ngày nay, nhiều quản trị viên website đã lựa chọn vô hiệu hóa xmlrpc.php để tránh các rủi ro bảo mật tiềm ẩn.
Nguyên lý hoạt động của xmlrpc.php
Để hiểu cách hoạt động, bạn hãy tưởng tượng xmlrpc.php như một “cầu nối” giúp website WordPress giao tiếp với các ứng dụng bên ngoài. Khi một ứng dụng hoặc dịch vụ muốn kết nối với WordPress, nó sẽ gửi yêu cầu (request) đến xmlrpc.php, sau đó WordPress sẽ xử lý và gửi lại phản hồi (response) phù hợp.
Cụ thể, xmlrpc.php hoạt động theo nguyên lý sau:
- Ứng dụng bên ngoài gửi yêu cầu XML-RPC
- Yêu cầu này chứa các lệnh được mã hóa bằng ngôn ngữ XML và gửi đến tệp xmlrpc.php thông qua giao thức HTTP.
- Ví dụ: Một ứng dụng viết blog từ xa có thể gửi yêu cầu “Đăng bài mới” lên website WordPress của bạn.
- xmlrpc.php xử lý yêu cầu và chuyển tiếp đến WordPress
- Khi nhận được yêu cầu, xmlrpc.php sẽ giải mã dữ liệu XML và kiểm tra thông tin xác thực (tên đăng nhập, mật khẩu).
- Nếu hợp lệ, nó sẽ chuyển lệnh đến WordPress Core để thực hiện tác vụ mong muốn.

- WordPress phản hồi lại kết quả
- Sau khi xử lý xong, WordPress sẽ tạo một phản hồi dạng XML và gửi lại cho ứng dụng yêu cầu ban đầu.
- Nếu thành công, phản hồi có thể chứa ID bài viết mới hoặc thông báo “Đăng bài thành công”. Nếu có lỗi, phản hồi sẽ mô tả lỗi đó.
Ví dụ về hoạt động của xmlrpc.php
Giả sử bạn đang sử dụng ứng dụng WordPress Mobile App để đăng bài từ xa, khi bạn nhấn “Xuất bản”, ứng dụng sẽ gửi yêu cầu đến xmlrpc.php. Tệp này sẽ xác thực tài khoản của bạn, kiểm tra nội dung và nếu hợp lệ, bài viết sẽ được xuất bản trên website.
Chức năng của xmlrpc.php trong WordPress
1. Kết nối WordPress với các ứng dụng bên ngoài
Một trong những chức năng quan trọng nhất của xmlrpc.php là giúp WordPress kết nối với các ứng dụng bên ngoài, nhất là trong thời kỳ mà API hiện đại chưa phổ biến. Tệp này cho phép các phần mềm viết blog từ xa, ứng dụng di động hoặc hệ thống quản lý nội dung (CMS) khác gửi yêu cầu đến WordPress để thực hiện các thao tác như đăng bài, cập nhật dữ liệu hoặc truy xuất thông tin.
Nhờ xmlrpc.php, người dùng có thể quản lý website WordPress mà không cần đăng nhập trực tiếp vào giao diện quản trị. Tuy nhiên, do có thể bị hacker khai thác để thực hiện tấn công Brute Force hoặc DDoS, nhiều quản trị viên hiện nay đã xem xét việc tắt xmlrpc.php nếu không sử dụng đến nó.
2. Hỗ trợ đăng bài từ xa
Trước khi WordPress REST API ra đời, xmlrpc.php là cách duy nhất để người dùng đăng bài từ xa mà không cần truy cập vào trình quản trị WordPress. Nhờ tính năng này, người viết có thể sử dụng các ứng dụng như Microsoft Word, Open Live Writer hoặc WordPress Mobile App để soạn thảo và xuất bản bài viết chỉ với một vài thao tác. Tính năng này đặc biệt hữu ích với những người viết blog thường xuyên di chuyển hoặc cần quản lý nội dung từ nhiều thiết bị khác nhau.
Tuy nhiên, điểm hạn chế của phương thức này là bảo mật kém, dễ bị hacker khai thác để gửi spam hoặc tấn công chiếm quyền điều khiển website. Vì vậy, nếu không sử dụng tính năng đăng bài từ xa, tốt nhất bạn nên tắt xmlrpc.php để tránh rủi ro.

3. Đồng bộ hóa dữ liệu giữa WordPress và các nền tảng khác
Ngoài đăng bài từ xa, xmlrpc.php cũng giúp WordPress đồng bộ hóa dữ liệu với các nền tảng bên ngoài, chẳng hạn như hệ thống quản lý nội dung (CMS), công cụ tự động hóa hoặc mạng xã hội. Ví dụ, một số công cụ SEO hoặc tiếp thị có thể sử dụng xmlrpc.php để truy xuất dữ liệu bài viết và cập nhật thông tin lên nhiều nền tảng khác nhau cùng một lúc.
Đây là cách giúp người dùng tiết kiệm thời gian và quản lý nội dung hiệu quả hơn. Tuy nhiên, do xmlrpc.php hoạt động bằng cách mở cổng kết nối liên tục với các hệ thống bên ngoài, nó có thể làm website tăng tải không cần thiết hoặc trở thành mục tiêu tấn công từ hacker. Vì thế, cần cân nhắc kỹ trước khi kích hoạt hoặc vô hiệu hóa tính năng này.
4. API XML-RPC so với REST API trong WordPress
Dù xmlrpc.php từng là công cụ quan trọng trong hệ sinh thái WordPress, nhưng khi ra đời, REST API đã trở nên lỗi thời. REST API sử dụng JSON thay vì XML, giúp dữ liệu truyền tải nhanh hơn, gọn nhẹ hơn và đặc biệt là bảo mật tốt hơn. Ngoài ra, REST API còn có thể tích hợp dễ dàng với nhiều nền tảng web, ứng dụng di động và dịch vụ đám mây, trong khi xmlrpc.php chủ yếu dựa trên các phương thức cũ và dễ bị khai thác lỗ hổng.
Chính vì những lý do này, WordPress đã dần hướng đến REST API như một giải pháp thay thế toàn diện. Nếu website của bạn không có nhu cầu sử dụng xmlrpc.php, bạn nên vô hiệu hóa nó và chuyển sang REST API để đảm bảo bảo mật tốt hơn.
Những rủi ro bảo mật khi sử dụng xmlrpc.php
1. Dễ bị tấn công DDoS
Một trong những rủi ro lớn nhất của xmlrpc.php là có thể bị lợi dụng để thực hiện tấn công DDoS (Distributed Denial of Service). Hacker có thể khai thác tính năng pingback của xmlrpc.php để gửi hàng loạt yêu cầu từ nhiều nguồn khác nhau, làm quá tải máy chủ và khiến website bị chậm hoặc sập hoàn toàn.
Nguy hiểm hơn hết là hình thức tấn công này không đòi hỏi nhiều tài nguyên, nhưng lại có thể gây ảnh hưởng nghiêm trọng đến hiệu suất và hoạt động của trang web.
2. Tấn công Brute Force vào tài khoản quản trị
Một lỗ hổng nghiêm trọng khác của xmlrpc.php là có thể bị khai thác để thực hiện tấn công Brute Force nhằm đoán mật khẩu đăng nhập vào WordPress. Thông thường, nếu hacker muốn tấn công bằng Brute Force qua trang đăng nhập, họ sẽ phải thử từng tài khoản và mật khẩu một cách thủ công. Nhưng với xmlrpc.php, họ có thể gửi hàng trăm yêu cầu đăng nhập chỉ trong một lần gửi dữ liệu, giúp đẩy nhanh quá trình thử mật khẩu.
3. Lỗ hổng bảo mật có thể bị hacker tấn công
Do xmlrpc.php đã có từ lâu và không còn được WordPress tập trung phát triển, nên đây đã trở thành một trong những điểm yếu bảo mật dễ bị khai thác. Hacker có thể tìm kiếm và sử dụng các lỗi bảo mật chưa được vá để tấn công vào website, chiếm quyền kiểm soát hoặc chèn mã độc.
Ngoài ra, vì xmlrpc.php thường bị bỏ qua trong các biện pháp bảo vệ, nhiều website không có cơ chế giám sát hoặc phát hiện tấn công sớm, khiến hacker dễ dàng lợi dụng nó để thực hiện các hoạt động độc hại mà không bị phát hiện ngay lập tức.

Ví dụ về các cuộc tấn công thực tế liên quan đến xmlrpc.php
Một ví dụ điển hình là vào năm 2015, hàng loạt website WordPress bị tấn công DDoS thông qua lỗ hổng pingback trong xmlrpc.php. Hacker đã sử dụng hơn 26.000 website WordPress để gửi hàng triệu yêu cầu pingback, khiến các trang web mục tiêu bị tê liệt hoàn toàn.
Cách kiểm tra xmlrpc.php có hoạt động trên website WordPress không
Nếu muốn biết xmlrpc.php có hoạt động trên website WordPress hay không, bạn có thể thực hiện một trong những cách sau:
1. Kiểm tra bằng XML-RPC Validator
Cách đơn giản nhất là sử dụng công cụ trực tuyến XML-RPC Validator. Các bước thực hiện như sau:
Bước 1: Truy cập trang XML-RPC Validator.
Bước 2: Nhập tên miền website của bạn vào ô và nhấn nút Check để kiểm tra.

Thông báo lỗi (màu đỏ): Điều này có nghĩa là xmlrpc.php
đã bị tắt hoặc bị chặn bởi tường lửa. Đây thường là một tín hiệu tốt về mặt bảo mật.
Thông báo thành công (màu xanh): Điều này có nghĩa là tệp xmlrpc.php
đang hoạt động trên trang web của bạn.
Trong trường hợp thấy lỗi sau, nghĩa là công cụ kiểm tra không thể hoàn thành việc kiểm tra tệp xmlrpc.php
trên trang web của bạn. Các plugin như Wordfence, iThemes Security, Sucuri Security thường có tính năng tường lửa (Firewall). Khi phát hiện một yêu cầu truy cập vào xmlrpc.php
, chúng sẽ chủ động chặn và ngắt kết nối thay vì gửi lại một thông báo lỗi chuẩn. Đây là một biện pháp bảo mật hiệu quả.

2. Kiểm tra trong mã nguồn của plugin và theme
Nếu bạn xác định xmlrpc.php đang hoạt động, hãy kiểm tra xem có plugin hoặc theme nào đang sử dụng nó không bằng cách:
Bước 1: Truy cập vào cPanel của hosting hoặc sử dụng sFTP client.

Bước 2: Vào các thư mục:
- /wp-content/plugins/ (nơi chứa các plugin đang cài đặt).
- /wp-content/themes/ (nơi chứa theme đang sử dụng).

Tìm kiếm cụm từ xmlrpc.php trong mã nguồn.
Nếu thấy có plugin hoặc theme đang sử dụng xmlrpc.php, bạn cần xem xét liệu nó có cần thiết hay không và có thể tắt xmlrpc.php nếu không dùng đến.
Phương pháp vô hiệu hoá xmlrpc.php trong WordPress
1. Vô hiệu hóa xmlrpc.php bằng plugin bảo mật
Đây là cách đơn giản và an toàn nhất, đặc biệt nếu bạn không muốn chỉnh sửa trực tiếp vào mã nguồn của WordPress. Một số plugin bảo mật như Solid Security cho phép bạn tắt xmlrpc.php chỉ với vài thao tác.
Cách thực hiện:
Bước 1: Cài đặt và kích hoạt plugin Solid Security (hoặc plugin bảo mật tương tự).
Bước 2: Truy cập Security > Settings > Advanced trong bảng điều khiển WordPress.

Bước 3: Tìm đến mục WordPress Tweaks.

Tại phần API Access, tìm tùy chọn XML-RPC settings.
Chọn Disable XML-RPC để tắt hoàn toàn chức năng này.

Bước 4: Nhấn Save changes để lưu cài đặt.
Lưu ý: Một số plugin hoặc dịch vụ bên thứ ba có thể cần sử dụng xmlrpc.php để hoạt động. Nếu sau khi tắt xmlrpc.php mà website gặp lỗi, bạn có thể kích hoạt lại hoặc liên hệ bộ phận hỗ trợ của Solid Security để được hướng dẫn.
2. Vô hiệu hóa xmlrpc.php thủ công bằng .htaccess
Nếu có kinh nghiệm chỉnh sửa mã nguồn, bạn có thể tắt xmlrpc.php bằng cách chỉnh sửa file .htaccess. Đây là một file quan trọng nằm trong thư mục gốc của website WordPress, giúp kiểm soát các cài đặt liên quan đến bảo mật, chuyển hướng và truy cập máy chủ.
Hướng dẫn thực hiện:
Bước 1: Truy cập thư mục gốc của website qua sFTP hoặc File Manager của cPanel hosting.

Bước 2: Mở file .htaccess bằng trình chỉnh sửa văn bản.
Lưu ý: Sao lưu file .htaccess trước khi chỉnh sửa để đảm bảo có thể khôi phục nếu gặp sự cố.

Bước 3: Thêm đoạn mã sau vào cuối file để chặn hoàn toàn truy cập vào xmlrpc.php:
Nếu sử dụng Apache phiên bản cũ:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
Nếu sử dụng Apache phiên bản 2.4 trở lên:
<Files "xmlrpc.php">
Require all denied
</Files>
Bước 5: Lưu lại file và tải lên lại máy chủ (nếu chỉnh sửa bằng sFTP).
Bước 6: Kiểm tra xem xmlrpc.php đã bị vô hiệu hóa chưa bằng cách sử dụng XML-RPC Validator. Nếu nó không thể truy cập, tức là bạn đã vô hiệu hóa thành công.
Kết luận
Qua bài viết trên, Tino hy vọng bạn đã hiểu rõ hơn về xmlrpc.php WordPress là gì. Hãy tiếp tục theo dõi Tino để đón đọc những bài viết hay và hữu ích khác bạn nhé!
Những câu hỏi thường gặp
xmlrpc.php có thể bị chặn bằng tường lửa không?
Có! Bạn có thể chặn xmlrpc.php bằng tường lửa trên máy chủ hoặc bằng Cloudflare/WAF để ngăn chặn các cuộc tấn công từ xa.
REST API có thể thay thế xmlrpc.php không?
Tất nhiên là có! REST API là công nghệ mới hơn, an toàn và tối ưu hơn xmlrpc.php trong việc giao tiếp giữa WordPress và ứng dụng bên ngoài.
xmlrpc.php có ảnh hưởng đến SEO không?
Không trực tiếp! Tuy nhiên, nếu website bị tấn công DDoS hoặc Brute Force qua xmlrpc.php, hiệu suất giảm có thể ảnh hưởng tiêu cực đến SEO.
xmlrpc.php có thể bị xóa hoàn toàn không?
Không nên! Xóa file này có thể gây lỗi với các plugin cần xmlrpc.php. Cách tốt nhất là vô hiệu hóa nó thay vì xóa.