ในการจัดการระบบหลังบ้านของ WordPress ความปลอดภัยและการควบคุมสิทธิ์เป็นหัวใจสำคัญ หลายคนอาจคุ้นเคยกับ WordPress Password (รหัสผ่านหลัก) ที่ใช้ล็อกอินเป็นประจำ แต่เมื่อต้องเชื่อมต่อระบบเข้ากับแอปพลิเคชันภายนอก ปลั๊กอินเสริม หรือเขียนสคริปต์อัตโนมัติผ่าน REST API คำว่า Application Password (รหัสผ่านเฉพาะแอปพลิเคชัน) จะเข้ามามีบทบาททันที
ความแตกต่างพื้นฐาน
- WordPress Password (รหัสผ่านหลัก)
รหัสผ่านที่คุณตั้งขึ้นเพื่อใช้ล็อกอินผ่านหน้าเว็บ (/wp-login.phpหรือ/wp-admin) ร่วมกับ Username หรือ Email - Application Password
รหัสสุ่ม 24 ตัวอักษรที่ระบบ WordPress สร้างขึ้น เพื่อให้ระบบภายนอกยืนยันตัวตนผ่าน WordPress REST API หรือ XML-RPC โดยไม่ต้องกรอกรหัสผ่านหลักจริง
| คุณสมบัติ | WordPress Password (รหัสผ่านหลัก) | Application Password |
| วัตถุประสงค์ | ให้มนุษย์ล็อกอินใช้งานหน้าเว็บ | ให้แอป/โค้ด/API เชื่อมต่อระบบ |
| การสร้างรหัส | ผู้ใช้เป็นคนตั้งเอง | ระบบสุ่มให้อัตโนมัติ (เช่น abcd efgh ijkl...) |
| การยกเลิกการเข้าถึง | ต้องเปลี่ยนรหัสผ่านหลักใหม่ทั้งหมด | ลบเฉพาะ Token ของแอปนั้นได้ทันที |
| การใช้งานร่วมกับ 2FA | ต้องผ่านการยืนยันตัวตนสองชั้น | บายพาส 2FA เพื่อให้โค้ด/บอททำงานต่อเนื่องได้ |
สิทธิ์ในการเข้าถึง (User Roles & Permissions)
จุดที่สำคัญที่สุดในการทำงานของ Application Password คือ เรื่องสิทธิ์การเข้าถึง (Authorization)
- อิงตาม User Role ของเจ้าของบัญชี: Application Password ไม่ได้ลดทอนหรือเพิ่มสิทธิ์ นอกเหนือไปจากบทบาทของบัญชีนั้น เช่น
- หากสร้างใต้บัญชี Administrator
แอปพลิเคชันนั้นจะทำได้ทุกอย่างเทียบเท่า Admin (เพิ่ม/ลบโพสต์, จัดการปลั๊กอิน, แก้ไขโค้ด) - หากสร้างใต้บัญชี Author
แอปพลิเคชันนั้นจะทำได้เฉพาะการเขียนและแก้ไขโพสต์ของตัวเองเท่านั้น ไม่สามารถยุ่งกับระบบตั้งค่าเว็บไซต์ได้
- หากสร้างใต้บัญชี Administrator
- เข้าถึงเฉพาะ REST API / XML-RPC
ไม่สามารถนำ Application Password ไปกรอกล็อกอินในหน้าเว็บ/wp-adminได้ - ป้องกันการถูกยึดบัญชี (Account Hijack)
Application Password ไม่สามารถใช้เปลี่ยนรหัสผ่านหลักหรือเปลี่ยนอีเมลของผู้ใช้ได้ หากแอปภายนอกถูกเจาะ ข้อมูลหลักของแอดมินยังคงปลอดภัย
ข้อดีด้านความปลอดภัยของการใช้ Application Password
- ปลอดภัยจากรหัสผ่านรั่วไหล (Isolation)
หากคุณเชื่อมต่อ WordPress กับบริการภายนอก เช่น Zapier, Make, หรือแอปมือถือ แล้วบริการนั้นถูกโจมตี คุณเพียงแค่เข้าไปกด Revoke (ยกเลิก) รหัสของแอปนั้นทิ้ง โดยไม่ต้องเปลี่ยนรหัสผ่านหลักของตัวเอง - ติดตามได้ง่าย (Traceability)
สามารถตั้งชื่อระบุได้ว่ารหัสชุดนี้สร้างให้ระบบใดใช้งาน (เช่น “Zapier-AutoPost”, “Mobile-App”) และดูเวลาที่ใช้งานล่าสุดได้
แนวทางปฏิบัติที่ดีที่สุด (Best Practices)
- ยึดหลัก Least Privilege
หากต้องการเขียนสคริปต์เพื่อโพสต์บทความอัตโนมัติ ควรสร้างบัญชีผู้ใช้ใหม่ที่มีสิทธิ์เพียง Author หรือ Editor แล้วค่อยสร้าง Application Password ภายใต้บัญชีนั้น หลีกเลี่ยงการสร้างใต้บัญชี Administrator โดยไม่จำเป็น - หมั่นตรวจสอบและลบรหัสที่ไม่ได้ใช้
ลบ Application Password ที่เลิกใช้งานแล้วออกจากเมนู Users > Profile อย่างสม่ำเสมอ เพื่อลดช่องโหว่การโจมตี (Attack Surface)