Trong những ngày đầu của WordPress, có những tính năng cho phép bạn tương tác với trang web của mình từ xa. Những đặc điểm tương tự này giúp xây dựng một cộng đồng bằng cách cho phép các blogger khác truy cập blog của bạn. Công cụ chính được sử dụng cho mục đích này là “ XML-RPC '.

« XML-RPC "Hoặc" Gọi thủ tục XML Từ xa Cung cấp sức mạnh lớn cho WordPress:

  • Kết nối với trang web của bạn bằng SmartPhone
  • TrackBacks và Pingbacks bật blog của bạn
  • Sử dụng nâng cao Jetpack

Nhưng có một vấn đề với " XML-RPC ", mà bạn phải giải quyết để duy trì tính bảo mật của blog WordPress.

Cách sử dụng XML-RPC trên WordPress

Chúng ta hãy quay lại vào những ngày đầu Viết blog '(tốt trước WordPress), hầu hết các tác giả trên Internet được sử dụng dial-up Để lướt web. Thật khó để viết bài và gửi chúng trực tuyến. Giải pháp là ghi vào máy tính của bạn ngoại tuyến và " máy photocopy / coller Bài viết của bạn. Những người đã sử dụng phương pháp này thấy nó đặc biệt khó khăn vì văn bản của họ thường có mã nước ngoài, ngay cả khi tài liệu được lưu ở định dạng HTML.

Blogger đã tạo giao diện lập trình ứng dụng (API) để cho phép các nhà phát triển khác truy cập blog Blogger. Chỉ định tên trang web là đủ, cho phép người dùng tạo các bài viết ngoại tuyến và sau đó kết nối với API Blogger thông qua XML-RPC. Các hệ thống viết blog khác cũng làm theo, và cuối cùng đã có MetaWeblogAPI chuẩn hóa quyền truy cập theo mặc định.

Sau mười năm, hầu hết các ứng dụng của chúng tôi đều có trên điện thoại và máy tính bảng. Một trong những điều mọi người thích làm với điện thoại của họ là đăng lên blog WordPress. Trong năm 2008-09, Automattic đã buộc phải tạo một ứng dụng WordPress cho hầu hết mọi hệ điều hành di động (cùng Blackberry và Windows Mobile).

Các ứng dụng này cho phép, thông qua giao diện XML-RPC, sử dụng thông tin đăng nhập WordPress.com của bạn để kết nối với trang web WordPress mà bạn có một số quyền truy cập nhất định.

Tại sao chúng ta nên quên XML-RPC?

Khả năng tương thích với XML-RPC Đã là một phần của WordPress kể từ ngày đầu tiên. WordPress 2.6 được phát hành vào ngày 15 tháng 2008 năm XNUMX và việc kích hoạt " XML-RPC Đã được thêm vào cài đặt WordPress và mặc định là " tắt '.

Một tuần sau, phiên bản WordPress dành cho iPhone được phát hành và người dùng được yêu cầu kích hoạt tính năng này. Bốn năm sau khi ứng dụng iPhone gia nhập gia đình, WordPress 3.5 đã kích hoạt " XML-RPC '.

Các điểm yếu chính liên quan đến XML-RPC là:

  • Tấn công bạo lực: Những kẻ tấn công cố gắng đăng nhập vào WordPress bằng cách sử dụng xmlrpc.php với càng nhiều sự kết hợp của tên người dùng và mật khẩu. Không có giới hạn dùng thử. Một phương thức trong xmlrpc.php cho phép kẻ tấn công sử dụng một lệnh duy nhất (system.multicall) để đoán hàng trăm mật khẩu.
  • Tấn công từ chối dịch vụ thông qua Pingback

Thuận tiện so với WordPress Security

Vì vậy, ở đây chúng tôi đi một lần nữa. Thế giới hiện đại vô cùng nhàm chán với sự thỏa hiệp của nó.

Nếu bạn muốn chắc chắn rằng không có ai mang bom lên thuyền của bạn, bạn chỉ cần cho nó chạy qua máy dò kim loại. Nếu bạn muốn bảo vệ chiếc xe của mình trong khi mua sắm, hãy khóa cửa và đóng cửa sổ. Bạn không thể chỉ dựa vào mật khẩu trang web để bảo vệ nó (cửa sổ ô tô có cung cấp đủ bảo vệ không?), đặc biệt nếu bạn sử dụng Jetpack hoặc các ứng dụng di động.

Cách tắt XML-RPC trên WordPress

Vì vậy, bạn đã trở nên phụ thuộc vào tất cả các công cụ này, những công cụ này lại phụ thuộc vào XML-RPC. Tôi hiểu rằng bạn không thực sự muốn tắt "XML-RPC" dù chỉ một chút thời gian.

Tuy nhiên, đây là một số plugin sẽ giúp bạn làm điều đó:

REST (và OAuth) để giải cứu

Bây giờ bạn có thể biết rằng các nhà phát triển WordPress đang chuyển sang giải pháp REST. Các nhà phát triển trong nhóm REST API đã gặp một số vấn đề khi chuẩn bị sẵn sàng, bao gồm cả đồng tiền xác thực nhằm khắc phục sự cố XML-RPC. Khi điều này cuối cùng được thực hiện (hiện được lên lịch cho WordPress 4.7 ở cuối 2016), bạn sẽ không phải sử dụng XML-RPC để kết nối với phần mềm như JetPack.

Thay vào đó, bạn sẽ xác thực thông qua giao thức OAuth. Nếu bạn không biết giao thức OAuth là gì, hãy nhớ điều gì xảy ra khi một trang web yêu cầu bạn đăng nhập bằng Google, Facebook hoặc thậm chí Twitter. Nói chung trên các nền tảng này, giao thức được sử dụng là OAuth.

Kiểm tra API REST của WordPress

Như tôi đã nói trước đó, REST API vẫn chưa được tích hợp vào cốt lõi của WordPress và sẽ không có trong nhiều tháng. Hôm nay, bạn có thể bắt đầu thử nghiệm nó trên các môi trường thử nghiệm của mình:

Rest API chắc chắn sẽ là tương lai của WordPress. Chúng tôi đã viết một số hướng dẫn về phần sau sẽ cung cấp cho bạn ý tưởng về cách bạn có thể bắt đầu triển khai nó:

Đó là nó cho hướng dẫn này. Tôi hy vọng bạn sẽ được thông tin đầy đủ hơn về những rủi ro liên quan đến việc sử dụng XML-RPC. Đừng ngần ngại đặt câu hỏi cho chúng tôi trong hình thức bình luận.