ในช่วงแรก ๆ ของ 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" เลยแม้แต่นิดเดียว
อย่างไรก็ตามนี่คือปลั๊กอินบางส่วนที่จะช่วยคุณทำสิ่งนั้น:
- หยุดการโจมตี XML-RPC : อนุญาตให้ Jetpack และเครื่องมือ Automattic อื่น ๆ เข้าถึง xmlrpc.php ผ่าน. htaccess เท่านั้น
- การควบคุมการเผยแพร่ XML-RPC: เพียงแค่เปลี่ยนตัวเลือกการเผยแพร่ระยะไกลแบบเก่ากลับไปที่ตัวเลือกการเขียน
- iThemes การรักษาความปลอดภัย, ป้องกันมัลแวร์รักษาความปลอดภัย และ Brute-Force Firewall et ทั้งหมดในหนึ่ง WP Security & Firewallเครื่องมือความปลอดภัยทั่วไปเหล่านี้รวมถึงการป้องกันกำลังดุร้ายในรุ่นฟรี พวกเขาเฝ้าดูความพยายามในการเข้าสู่ระบบซ้ำโดยมีหรือไม่มี xmlrpc.php และปกป้องคุณจากการสอบถามที่พยายามจะทำลายเว็บไซต์ของคุณ
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 อย่างแน่นอน เราได้เขียนบทช่วยสอนหลายบทในช่วงหลังซึ่งจะให้แนวคิดเกี่ยวกับวิธีที่คุณสามารถเริ่มใช้งานได้:
- จะรู้ได้อย่างไรว่าเมื่อใดควรใช้ Rest API
- วิธีใช้ Rest API
- 7 การใช้งาน Rest API อย่างมีประสิทธิภาพ
- วิธีใช้ WordPress HTTP API
เพียงเท่านี้สำหรับบทช่วยสอนนี้ ฉันหวังว่าคุณจะได้รับข้อมูลที่ดีขึ้นเกี่ยวกับความเสี่ยงที่เกี่ยวข้องกับการใช้ XML-RPC อย่าลังเลที่จะถามคำถามเราใน ฟอร์ม ความคิดเห็น