วิธีแก้ WordPress ขึ้น 403 Forbidden

ข้อความ “403 Forbidden” หมายถึงเซิร์ฟเวอร์ปฏิเสธการเข้าถึงหน้าเว็บหรือไฟล์ที่ร้องขอ เว็บไซต์ WordPress อาจแสดงข้อความนี้ทั้งเว็บไซต์ เฉพาะหน้าแอดมิน หรือเฉพาะบางหน้า สาเหตุที่พบได้มีทั้งการตั้งค่าสิทธิ์ไฟล์ กฎความปลอดภัย ปลั๊กอินป้องกันเว็บไซต์ ไฟร์วอลล์ หรือข้อจำกัดจากโฮสติ้ง

ก่อนแก้ไข ให้ตรวจว่าปัญหาเกิดกับหน้าใดและเริ่มเมื่อใด หากเพิ่งติดตั้งปลั๊กอินความปลอดภัย เปลี่ยนไฟล์ หรือแก้การตั้งค่าเซิร์ฟเวอร์ ให้เริ่มตรวจจากจุดนั้น ComSiam แนะนำให้สำรองไฟล์เว็บไซต์ก่อนแก้การตั้งค่าที่มีผลกับทั้งระบบ

❶ ตรวจสอบขอบเขตของข้อผิดพลาด

ลองเปิดหน้าแรก หน้าอื่น และหน้าเข้าสู่ระบบ WordPress หากพบ 403 เฉพาะบางหน้า ให้จด URL นั้นไว้ แต่ถ้าเกิดทั้งเว็บไซต์ ให้ตรวจสถานะโฮสติ้งและระบบความปลอดภัยของเซิร์ฟเวอร์

ทดสอบด้วยหน้าต่างไม่ระบุตัวตนหรือเครือข่ายอื่นด้วย หากเปิดได้จากเครือข่ายอื่น อาจมีการบล็อก IP หรือข้อจำกัดด้านความปลอดภัยกับเครือข่ายที่ใช้อยู่

❷ ตรวจว่าปลั๊กอินความปลอดภัยบล็อกการเข้าถึงหรือไม่

ปลั๊กอินความปลอดภัยหรือระบบไฟร์วอลล์อาจบล็อก IP การเข้าสู่ระบบ หรือคำขอบางประเภท หากเพิ่งเปิดใช้หรือปรับการตั้งค่าความปลอดภัย ให้ตรวจบันทึกการบล็อกและรายการ IP ที่ถูกจำกัด

หากเข้าแอดมินไม่ได้ ให้ใช้แผงควบคุมโฮสติ้งหรือ FTP ปิดปลั๊กอินที่สงสัยชั่วคราว โดยเปลี่ยนชื่อโฟลเดอร์ปลั๊กอินนั้น แล้วลองเปิดหน้าเว็บอีกครั้ง เมื่อเว็บไซต์กลับมา ให้ตรวจการตั้งค่าหรือขอให้ผู้ดูแลระบบปลดบล็อก IP ที่ถูกต้อง

อย่าปิดระบบความปลอดภัยทั้งหมดเป็นเวลานาน หากพบว่าปลั๊กอินเป็นต้นเหตุ ให้ปรับเฉพาะกฎที่บล็อกผิดพลาดแล้วเปิดระบบกลับ

❸ ตรวจสอบไฟล์ .htaccess และกฎการเข้าถึง

ไฟล์ .htaccess อาจมีกฎที่ห้ามเข้าถึงบางหน้า หรือมีคำสั่งที่ขัดกับการตั้งค่าโฮสติ้ง หากปัญหาเริ่มหลังแก้ไฟล์นี้หรือเปลี่ยนปลั๊กอินแคช ให้เก็บสำเนาไฟล์ไว้ก่อน แล้วขอให้โฮสติ้งตรวจสอบกฎที่เกี่ยวข้อง

หากเข้าแอดมินได้ ให้ลองบันทึกการตั้งค่าลิงก์ถาวรอีกครั้งเพื่อให้ WordPress สร้างกฎลิงก์ใหม่ แต่หากยังขึ้น 403 หรือไม่แน่ใจว่ากฎใดควรลบ อย่าแก้ไฟล์โดยการเดา ให้ส่งไฟล์และเวลาที่เกิดปัญหาให้โฮสติ้งตรวจสอบ

❹ ตรวจสอบสิทธิ์ไฟล์และโฟลเดอร์

สิทธิ์ไฟล์ที่เข้มงวดหรือผิดจากค่าที่โฮสติ้งกำหนด อาจทำให้เซิร์ฟเวอร์อ่านไฟล์เว็บไซต์ไม่ได้ ควรตรวจเฉพาะไฟล์และโฟลเดอร์ที่เพิ่งย้ายหรือแก้ไข และสอบถามโฮสติ้งว่าควรใช้สิทธิ์แบบใด

หลีกเลี่ยงการตั้งค่าสิทธิ์ทุกไฟล์ให้เปิดกว้างเพื่อทดลองแก้ เพราะอาจทำให้ไฟล์สำคัญถูกเข้าถึงโดยไม่เหมาะสม หากเพิ่งย้ายโฮสต์ ให้แจ้งผู้ให้บริการตรวจเจ้าของไฟล์และสิทธิ์ที่ถูกต้อง

❺ ตรวจสอบการบล็อก IP หรือข้อจำกัดจากโฮสติ้ง

หาก 403 เกิดเฉพาะจาก IP หรือเครือข่ายบางแห่ง อาจมีการบล็อกจากไฟร์วอลล์ ระบบป้องกันการโจมตี หรือการจำกัดจำนวนคำขอ ตรวจสอบแผงควบคุมโฮสติ้งว่ามีรายการ IP ที่ถูกบล็อกหรือไม่

หากไม่พบรายการ ให้ส่ง IP สาธารณะที่ใช้งาน URL ที่ถูกบล็อก และเวลาที่เกิดปัญหาให้โฮสติ้งตรวจสอบ อย่าส่งรหัสผ่านบัญชีโฮสติ้งผ่านช่องทางที่ไม่ปลอดภัย

❻ ตรวจสอบ CDN หรือพร็อกซีที่อยู่หน้าเว็บไซต์

หากเว็บไซต์ใช้ CDN หรือพร็อกซี ข้อความ 403 อาจมาจากระบบนั้นแทนที่จะมาจาก WordPress ตรวจสอบบันทึกเหตุการณ์หรือการตั้งค่าความปลอดภัยของบริการดังกล่าว โดยเฉพาะกฎที่เพิ่งเพิ่มหรือเปลี่ยน

หากไม่แน่ใจว่าหน้า 403 มาจากระบบใด ให้สังเกตหน้าตาข้อความและแจ้งโฮสติ้งหรือผู้ให้บริการ CDN พร้อม URL และเวลาที่พบปัญหา ComSiam แนะนำให้ตรวจทีละชั้น เพื่อระบุว่าการปฏิเสธเกิดจากเว็บไซต์ โฮสติ้ง หรือบริการพร็อกซี

❼ ตรวจสอบเว็บไซต์หลังแก้ไข

หลังปรับการตั้งค่า ให้ทดสอบหน้าแรก หน้าแอดมิน และ URL ที่เคยถูกปฏิเสธจากทั้งเครือข่ายเดิมและอุปกรณ์อื่น ตรวจด้วยว่าระบบความปลอดภัยยังทำงานและไม่มีหน้าอื่นถูกบล็อกผิดพลาด

ถ้ายังพบ 403 ให้บันทึกข้อความและเวลาที่เกิด แล้วส่งข้อมูลพร้อมขั้นตอนที่ลองทำให้โฮสติ้งตรวจสอบ Log ฝั่งเซิร์ฟเวอร์ การตรวจสอบจาก Log มักช่วยแยกได้ว่าปัญหามาจากสิทธิ์ไฟล์ กฎความปลอดภัย หรือการบล็อก IP

สรุป

เมื่อ WordPress ขึ้น 403 Forbidden ให้ตรวจขอบเขตของปัญหา แล้วไล่ดูปลั๊กอินความปลอดภัย ไฟล์ .htaccess สิทธิ์ไฟล์ การบล็อก IP และ CDN ตามลำดับ สำรองข้อมูลก่อนแก้ไฟล์ และหลีกเลี่ยงการเปิดสิทธิ์กว้างหรือปิดระบบป้องกันทิ้งไว้ หากยังระบุสาเหตุไม่ได้ ให้ส่ง URL เวลาที่เกิด และรายละเอียดการเปลี่ยนแปลงล่าสุดให้โฮสติ้งตรวจสอบ ComSiam แนะนำให้ทดสอบเว็บไซต์หลังแก้ทุกครั้ง