ในช่วงแรก ๆ ของ WordPress มีคุณสมบัติที่อนุญาตให้คุณโต้ตอบกับเว็บไซต์ของคุณจากระยะไกล ลักษณะเดียวกันนี้ทำให้สามารถสร้างชุมชนได้โดยอนุญาตให้บล็อกเกอร์รายอื่นเข้าถึงได้ บล็อกของคุณ. เครื่องมือหลักที่ใช้เพื่อการนี้คือ “ XML-RPC '

« XML-RPC "หรือ" XML ของ Remote Procedure Call ให้พลังอันยอดเยี่ยมกับ WordPress:

  • การเชื่อมต่อกับไซต์ของคุณด้วยสมาร์ทโฟน
  • เปิด TrackBack และ Pingbacks บล็อกของคุณ
  • การใช้ Jetpack ขั้นสูง

แต่มีปัญหากับ " XML-RPC "ซึ่งคุณต้องแก้เพื่อรักษาความปลอดภัยของ .ของคุณ บล็อก WordPress.

วิธีที่ XML-RPC ใช้ใน WordPress

ลองย้อนกลับไปในวันแรก ๆ การเขียนบล็อก "(นานก่อนที่จะ WordPress) ผู้เขียนส่วนใหญ่บนอินเทอร์เน็ตที่ใช้ dial-up ในการท่องเว็บ การเขียนบทความและส่งทางออนไลน์เป็นเรื่องยาก วิธีแก้ปัญหาคือเขียนลงในคอมพิวเตอร์ของคุณแบบออฟไลน์และ " เครื่องถ่ายเอกสาร / Coller บทความของคุณ คนที่ใช้วิธีนี้พบว่ามันยากเป็นพิเศษเพราะข้อความของพวกเขามักจะมีรหัสต่างประเทศแม้ว่าเอกสารนั้นจะถูกบันทึกในรูปแบบ HTML

บล็อกเกอร์ได้สร้างอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน (API) เพื่ออนุญาตให้นักพัฒนารายอื่นเข้าถึงบล็อกของ Blogger การระบุชื่อเว็บไซต์ก็เพียงพอแล้วซึ่งอนุญาตให้ผู้ใช้สร้างบทความแบบออฟไลน์จากนั้นเชื่อมต่อกับ Blogger API ผ่าน XML-RPC ระบบบล็อกอื่น ๆ เป็นไปตามความเหมาะสมและในที่สุดก็มี MetaWeblogAPI ที่เข้าถึงมาตรฐานโดยค่าเริ่มต้น

หลังจากผ่านไปสิบปี แอปพลิเคชันส่วนใหญ่ของเราอยู่ในโทรศัพท์และแท็บเล็ตของเรา สิ่งหนึ่งที่คนชอบทำกับโทรศัพท์คือโพสต์ไปที่ บล็อก WordPress. ในปี 2008-09 Automattic ถูกบังคับให้สร้างแอปพลิเคชั่น WordPress สำหรับระบบปฏิบัติการมือถือแทบทุกระบบ (Blackberry และ Windows Mobile เดียวกัน).

อนุญาตให้แอปพลิเคชันเหล่านี้ผ่านอินเทอร์เฟซ XML-RPC เพื่อใช้ข้อมูลประจำตัว WordPress.com ของคุณเพื่อเชื่อมต่อกับไซต์ WordPress ที่คุณมีสิทธิ์การเข้าถึงบางอย่าง

เหตุใดเราจึงควรลืม XML-RPC

เข้ากันได้กับ XML-RPC เป็นส่วนหนึ่งของ WordPress ตั้งแต่วันแรก WordPress 2.6 เปิดตัวเมื่อวันที่ 15 กรกฎาคม 2008 และการเปิดใช้งาน " XML-RPC ถูกเพิ่มในการตั้งค่า WordPress และค่าเริ่มต้นเป็น " Off '

หนึ่งสัปดาห์ต่อมามีการเปิดตัว WordPress สำหรับ iPhone เวอร์ชันหนึ่งและขอให้ผู้ใช้เปิดใช้งานคุณลักษณะนี้ สี่ปีหลังจากที่แอป iPhone เข้าร่วมกับครอบครัว WordPress 3.5 ได้เปิดใช้งาน " XML-RPC '

จุดอ่อนหลักที่เกี่ยวข้องกับ XML-RPC คือ:

  • การโจมตีด้วยกำลังดุร้าย: ผู้โจมตีพยายามเข้าสู่ระบบ WordPress โดยใช้ xmlrpc.php โดยใช้ชื่อผู้ใช้และรหัสผ่านร่วมกัน ไม่มีข้อ จำกัด ในการทดสอบ วิธีการใน xmlrpc.php อนุญาตให้ผู้โจมตีใช้คำสั่งเดียว (system.multicall) ที่จะคาดเดาหลายร้อยของรหัสผ่าน
  • การโจมตี Denial of Service ผ่าน Pingback

ความสะดวกสบายเทียบกับความปลอดภัยของ WordPress

ดังนั้นเรามาที่นี่อีกครั้ง โลกสมัยใหม่น่าเบื่ออย่างยิ่งกับการประนีประนอม

หากคุณต้องการให้แน่ใจว่าไม่มีใครนำระเบิดมาบนเรือของคุณคุณเพียงแค่เรียกใช้เครื่องตรวจจับโลหะ หากคุณต้องการปกป้องรถของคุณขณะซื้อของให้ล็อกประตูและปิดหน้าต่าง คุณไม่สามารถพึ่งพารหัสผ่านของเว็บไซต์เพื่อป้องกันได้ (กระจกรถมีการป้องกันเพียงพอหรือไม่) โดยเฉพาะอย่างยิ่งถ้าคุณใช้ Jetpack หรือการใช้งานโทรศัพท์มือถือ

วิธีปิดการใช้งาน XML-RPC บน WordPress

ดังนั้นคุณจึงต้องพึ่งพาเครื่องมือเหล่านี้ทั้งหมดซึ่งในทางกลับกันก็ขึ้นอยู่กับ XML-RPC เราเข้าใจดีว่าคุณไม่ต้องการปิด "XML-RPC" เลยแม้แต่นิดเดียว

อย่างไรก็ตามนี่คือปลั๊กอินบางส่วนที่จะช่วยคุณทำสิ่งนั้น:

REST (และ OAuth) เพื่อช่วยเหลือ

ตอนนี้คุณอาจรู้แล้วว่านักพัฒนา WordPress หันมาใช้โซลูชัน REST นักพัฒนาในทีม REST API มีปัญหาเล็กน้อยในการเตรียมความพร้อมรวมถึงเหรียญรับรองความถูกต้องเพื่อแก้ไขปัญหา XML-RPC เมื่อสิ่งนี้ถูกนำไปใช้ในที่สุด (ปัจจุบันกำหนดไว้สำหรับ WordPress 4.7 ที่ส่วนท้ายของ 2016) คุณจะไม่ต้องใช้ XML-RPC เพื่อเชื่อมต่อกับซอฟต์แวร์เช่น JetPack

แต่คุณจะตรวจสอบสิทธิ์ผ่านโปรโตคอล OAuth แทน หากคุณไม่ทราบว่าโปรโตคอล OAuth คืออะไรโปรดจำไว้ว่าจะเกิดอะไรขึ้นเมื่อเว็บไซต์ขอให้คุณลงชื่อเข้าใช้ด้วย Google, Facebook หรือ Twitter โดยทั่วไปบนแพลตฟอร์มเหล่านี้โปรโตคอลที่ใช้คือ OAuth

การทดสอบ WordPress REST API

ดังที่ได้กล่าวไปก่อนหน้านี้ REST API ยังไม่ได้รวมเข้ากับคอร์ของ WordPress และจะไม่ใช้งานเป็นเวลาหลายเดือน วันนี้คุณสามารถเริ่มทดสอบได้ในสภาพแวดล้อมการทดสอบของคุณ:

Rest API จะเป็นอนาคตของ WordPress อย่างแน่นอน เราได้เขียนบทช่วยสอนหลายบทในช่วงหลังซึ่งจะให้แนวคิดเกี่ยวกับวิธีที่คุณสามารถเริ่มใช้งานได้:

เพียงเท่านี้สำหรับบทช่วยสอนนี้ ฉันหวังว่าคุณจะได้รับข้อมูลที่ดีขึ้นเกี่ยวกับความเสี่ยงที่เกี่ยวข้องกับการใช้ XML-RPC อย่าลังเลที่จะถามคำถามเราใน ฟอร์ม ความคิดเห็น