Hướng dẫn php_extension xmlrpc
XMLRPC.PHP là một tính năng quan trọng trong truyền tải dữ liệu WordPress từ xa. Những năm trở lại đây, file XMLRPC.PHP bị lạm dụng và hình thành một lỗ hổng bảo mật rất lớn. Do đó, bài viết hôm nay, Vietnix sẽ giúp bạn tìm hiểu XMLRPC.PHP là gì? Lý do vì sao chúng ta nên vô hiệu hóa trong WordPress? Show
Nội dung chính
XMLRPC.PHP là gì?XMLRPC.PHP là một tính năng giúp bạn đăng bài lên blog WordPress từ xa. Thông qua các ứng dụng bên ngoài như Windows Live Writer, IFTTT,… với HTTP làm công cụ truyền và XML làm công cụ encode (mã hóa). XMLRPC.PHP là gì?Tại sao XML-RPC trước đó từng thông dụng và nó được sử dụng làm gì?Nhờ vào việc sở hữu nhiều tính năng đặc biệt mà nhiều năm trước XML-RPC được sử dụng khá phổ biến. Tính năng nổi bật nhất phải kể đến đó là khả năng truy cập, chỉnh sửa nội dung trong WordPress. Tính năng nổi bật nhất phải kể đến đó là khả năng truy cập, chỉnh sửa nội dung trong WordPressThời bấy giờ, đường truyền mạng chưa phổ biến và cũng chưa mạnh thì sử dụng XML-RPC là một giải pháp rất hữu dụng. Vì với XML-RPC, người dùng hoàn toàn có thể truy cập, chỉnh sửa nội dung mà không cần kết nối Internet. Cụ thể, tính năng này của XML-RPC sẽ tạo ra một website offline, kết nối với website chính. Người dùng có thể thực hiện chỉnh sửa và đăng tải nội dung lên đây. Sau đó, chỉ cần kích hoạt XMLRPC.PHP thì những thông tin hay bài viết sẽ xuất hiện trên website. Ngày nay, với sự phát triển của Internet cũng như sự ra đời của hàng loạt ứng dụng cho phép người dùng truy cập website bằng điện thoại, khiến XML-RPC ngày càng ít được sử dụng. Cách kích hoạt XMLRPC.PHP trong WordPressĐể kích hoạt XMLRPC.PHP trong WordPress, bạn thực hiện theo các bước sau đây:
Vì sao nên vô hiệu hóa XMLRPC.PHP?Hiện nay, XML-RPC bắt đầu xuất hiện hạn chế, song song với đó là sự xuất hiện của những phần mềm mới, khiến cho XML-RPC không còn được khuyên dùng. Nhược điểm lớn nhất của XML-RPC là vấn đề bảo mật kém. Điều này tạo cơ hội cho các hacker có thể dễ dàng tấn công vào website. Hacker sẽ tận dụng lỗ hổng bảo mật của file XMLRPC.PHP để truy cập website bằng cách sử dụng nhiều tổ hợp của username và password. Người dùng thường thực hiện vô hiệu hoá XMLRPC.PHP để tránh tình trạng bị hacker xâm nhậpNgoài ra, hacker còn phát động các cuộc tấn công DDoS vào website khiến nó thường xuyên rơi vào tình trạng bị down. Chính vì vậy, khi sử dụng WordPress, nhiều người dùng thường thực hiện vô hiệu hoá XMLRPC.PHP để tránh tình trạng bị hacker xâm nhập. Cách vô hiệu hóa XMLRPC.PHPĐể vô hiệu hóa XMLRPC.PHP, bạn có thể thực hiện theo 3 cách sau đây: Cách 1: Sử dụng plugin
Khi được kích hoạt, plugin này sẽ tự động chạy code cần thiết để tắt Xmlrpc. Trong trường hợp bạn đang sử dụng plugin Jetpack hoặc một số plugin khác đang dùng yếu tố của xmlrpc, bạn có thể cài thêm các plugin sau để giải quyết tình trạng này:
Cách 2: Sửa file .htaccessBạn có thể chặn tất cả các yêu cầu tới file XMLRPC.PHP bằng cách sử dụng .htaccess, dán đoạn mã sau vào file .htaccess của bạn: Bạn cũng có thể thêm vào allow from
Cách 3: Trên NGINXNếu bạn đang sử dụng Nginx làm backend (sử dụng cùng với PHP-FPM) thì cần thêm rule sau vào file vhost của website:
WordPress XMLRPC.PHP Server là gì?XMLRPC server chính là một web server và có nhiệm vụ nhận thông tin đã được mã hoá từ XMLRPC client. Cách tạo hàm XMLRPC mớiĐể tạo hàm XMLRPC mới, bạn thao tác theo ví dụ sau đây:
Trong ví dụ vừa trình bày ở trên, bạn tạo hàm Về phần định nghĩa hàm callback. Bạn có thể tham khảo ví dụ:
Lưu ý: Cần phải trả hàm về giá trị, giá trị này sẽ được lấy trong quá trình gọi hàm. Khi xuất chuỗi ra màn hình lưu ý không dùng echo, print. Cách xóa hàm RPCThực hiện tương tự như cách tạo mới ở trên. Với các hàm không mong muốn, bạn chỉ cần sử dụng
Tìm hiểu thêm về XMLRPC ClientXMLRPC client chính là hệ thống dùng XML để mã hóa tham số, sau đó thực hiện gửi nội dung XML đã được mã hoá vào XMLRPC server. Tạo lớp xử lý gọi hàm từ XMLRPC.PHP ServerĐể tạo lớp xử lý gọi hàm từ XMLRPC.PHP Server, bạn cần thực hiện theo các bước sau đây:
Gọi hàm RPCĐể gọi hàm RPC, bạn cần thực hiện theo các bước như sau:
Với XMLRPC, bạn có thể thực hiện gọi nhiều hàm trên một kết nối XMPRPC. Trong trường hợp này, bạn có thể gọi tiếp hàm
Lời kếtTrên đây là những thông tin chia sẻ về vấn đề XMLRPC.PHP là gì. Hy vọng bài viết sẽ giúp bạn hiểu được khái niệm XMLRPC.PHP cũng như nguyên nhân tại sao bạn nên vô hiệu hóa trong WordPress. Nếu còn vấn đề gì chưa rõ, bạn có thể bình luận bên dưới để được hỗ trợ nhé! |