Joomla ขึ้น “Access Denied” แก้อย่างไร? ตรวจสิทธิ์และการตั้งค่าที่เกี่ยวข้อง

ข้อความ “Access Denied” หมายถึงบัญชีหรือคำขอที่เปิดหน้านั้นไม่มีสิทธิ์ตามที่ Joomla หรือเซิร์ฟเวอร์กำหนด ให้ตรวจว่าเกิดกับหน้าใดและเกิดกับผู้ใช้ทุกคนหรือเฉพาะบางบัญชี ก่อนเปลี่ยนสิทธิ์หรือปิดระบบป้องกัน

❶ ตรวจว่าข้อความเกิดที่หน้าเว็บหรือหน้าแอดมิน

① หากเกิดกับหน้าเนื้อหา ให้ลองออกจากระบบแล้วเปิดหน้าเดิม หรือเข้าสู่ระบบด้วยบัญชีที่ควรมีสิทธิ์ เพื่อดูว่าเนื้อหาจำกัดเฉพาะสมาชิกหรือไม่

② หากเกิดที่หน้า /administrator ให้ตรวจว่าบัญชีมีสิทธิ์เข้าถึงระบบหลังบ้าน ไม่ใช่เพียงมีบัญชีสำหรับใช้งานหน้าเว็บไซต์

③ หากหน้าเว็บแสดงหน้า 403 ที่มีโลโก้หรือข้อความจากโฮสติ้ง ให้ตรวจ Firewall หรือกฎความปลอดภัยของเซิร์ฟเวอร์ร่วมด้วย

จด URL ข้อความผิดพลาด และกลุ่มผู้ใช้ที่พบปัญหาไว้ การรู้ว่าปัญหาเกิดกับทุกคนหรือเฉพาะบัญชีหนึ่งช่วยจำกัดสาเหตุได้มาก

❷ ตรวจระดับการเข้าถึงของเนื้อหา

Joomla กำหนด Access Level ให้กับเนื้อหา เมนู โมดูล และรายการอื่น ๆ หากผู้ใช้ไม่ได้อยู่ในกลุ่มที่ได้รับอนุญาตให้ดูรายการนั้น ก็อาจเห็นข้อความปฏิเสธการเข้าถึง

หากยังเข้าแอดมินได้ ให้ผู้ดูแลเปิดรายการที่มีปัญหา เช่น บทความหรือเมนู แล้วตรวจช่อง Access ว่าตั้งเป็น Public, Registered หรือระดับอื่นที่เหมาะสมหรือไม่ จากนั้นตรวจว่ากลุ่มผู้ใช้ของบัญชีอยู่ในกลุ่มที่ได้รับอนุญาตให้ดู Access Level นั้น

อย่าตั้งรายการทั้งหมดเป็น Public เพื่อแก้ปัญหา เพราะอาจทำให้เนื้อหาที่ควรจำกัดสิทธิ์เปิดเผยต่อสาธารณะ

❸ ตรวจสิทธิ์ของบัญชีและกลุ่มผู้ใช้

หากเกิดกับบัญชีใดบัญชีหนึ่ง ให้ผู้ดูแลตรวจว่า:

  • บัญชียังเปิดใช้งานและไม่ถูกบล็อก
  • บัญชีอยู่ในกลุ่มผู้ใช้ที่ถูกต้อง
  • กลุ่มนั้นมีสิทธิ์เข้าถึงหน้าแอดมินหรือฟังก์ชันที่ต้องใช้
  • ไม่มีการปฏิเสธสิทธิ์ในระดับที่สูงกว่า ซึ่งอาจทำให้การอนุญาตในระดับย่อยไม่มีผล

Joomla แยกสิทธิ์การมองเห็นออกจากสิทธิ์การทำงาน บัญชีอาจดูหน้าได้แต่ไม่มีสิทธิ์แก้ไข หรืออาจล็อกอินได้แต่ไม่ได้รับอนุญาตให้เข้าถึงระบบหลังบ้าน หากไม่แน่ใจ ให้ผู้ดูแลตรวจรายงานสิทธิ์ของบัญชี แทนการเพิ่มบัญชีเข้า Super User โดยทันที

❹ ตรวจกรณีเพิ่งเปลี่ยนการตั้งค่าหรือส่วนเสริม

หากข้อความเริ่มปรากฏหลังเปลี่ยนกลุ่มผู้ใช้ กฎ ACL ส่วนเสริมเข้าสู่ระบบ หรือระบบป้องกันเว็บไซต์ ให้ตรวจค่าที่เปลี่ยนล่าสุดก่อน

① ทดลองกับบัญชีอื่นที่มีสิทธิ์เหมาะสม เพื่อแยกว่าปัญหาอยู่ที่บัญชีหรือหน้าเว็บ

② ตรวจการตั้งค่าของส่วนเสริมที่ควบคุมสิทธิ์หรือการเข้าสู่ระบบ

③ หากสงสัยว่า Firewall ของโฮสติ้งบล็อกคำขอ ให้ส่ง URL และเวลาที่เกิดเหตุให้ผู้ให้บริการตรวจบันทึก

④ หากต้องปรับค่า ให้บันทึกค่าเดิมและเปลี่ยนทีละจุด เพื่อย้อนกลับได้หากยังพบปัญหา

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

❺ ใช้ Error Log หากยังหาสาเหตุไม่พบ

หากข้อความเกิดขึ้นเฉพาะบางคำขอหรือหลังการเปลี่ยนแปลง ให้ตรวจ Error Log ของ Joomla และโฮสติ้ง รายการในบันทึกอาจช่วยระบุชื่อส่วนเสริมหรือกฎที่ปฏิเสธคำขอ

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

สรุป

เมื่อ Joomla ขึ้น “Access Denied” ให้ตรวจตำแหน่งที่เกิดปัญหา ระดับการเข้าถึงของเนื้อหา และสิทธิ์ของกลุ่มผู้ใช้ก่อน หากข้อความมาจากโฮสติ้ง ให้ตรวจ Firewall และ Error Log ด้วย แก้เฉพาะสิทธิ์ที่เกี่ยวข้องเพื่อไม่เปิดเผยเนื้อหาหรือให้สิทธิ์เกินจำเป็น