วิธีตั้งค่าหน้า Error ของ Joomla ไม่ให้แสดงข้อมูลสำคัญ

ตั้งหน้า Error ให้แสดงข้อความสั้น ๆ ที่ผู้เข้าชมเข้าใจได้ และปิด Debug กับการรายงานข้อผิดพลาดแบบละเอียดบนเว็บไซต์จริง รายละเอียดทางเทคนิคควรบันทึกไว้ใน Log ที่ผู้ดูแลเข้าถึงได้เท่านั้น

❶ ปิด Debug บนเว็บไซต์จริง

① ปิด Debug System

เข้าสู่ Global Configuration แล้วตรวจตัวเลือก Debug System ให้เป็น No บนเว็บไซต์ที่เปิดให้ใช้งานจริง เพราะข้อมูล Debug อาจแสดงรายละเอียดการทำงานของระบบบนหน้าเว็บ

② ปิด Debug Language หากเปิดไว้

ตรวจตัวเลือก Debug Language ด้วย หากไม่ได้กำลังแก้ปัญหาการแปลภาษา ให้ปิดไว้เพื่อลดข้อมูลวินิจฉัยที่แสดงเพิ่มเติม

③ ทดสอบหน้าเว็บในสถานะผู้เข้าชม

เปิดเว็บไซต์ในหน้าต่างไม่ระบุตัวตน แล้วทดลองหน้าเว็บที่ไม่มีอยู่หรือหน้าเข้าถึงไม่ได้ ตรวจว่าไม่มี Debug Console, เส้นทางไฟล์ หรือรายละเอียดทางเทคนิคแสดงอยู่ ComSiam แนะนำให้ทดสอบหลังเปลี่ยนการตั้งค่าทุกครั้ง

❷ ตั้งค่าการรายงานข้อผิดพลาดและ Log

① ตรวจค่า Error Reporting

ใน Global Configuration ตรวจตัวเลือก Error Reporting และหลีกเลี่ยงระดับ Maximum หรือ Development บนเว็บไซต์จริง เพราะอาจเปิดเผยรายละเอียดข้อผิดพลาด ค่าที่ใช้ได้อาจต่างกันตามเวอร์ชัน Joomla และการตั้งค่าของเซิร์ฟเวอร์

② เก็บรายละเอียดไว้ใน Log

ตั้งค่า Log ให้บันทึกข้อผิดพลาดในตำแหน่งที่ปลอดภัยและผู้ดูแลเข้าถึงได้ จำกัดสิทธิ์ไม่ให้ผู้เข้าชมเปิดไฟล์ Log ผ่าน URL โดยตรง

③ ตรวจการตั้งค่าฝั่งโฮสติ้ง

แม้จะปรับค่าใน Joomla แล้ว เซิร์ฟเวอร์หรือส่วนเสริมบางตัวอาจแสดงข้อความ PHP เอง หากยังเห็นข้อผิดพลาดบนหน้าเว็บ ให้ตรวจการตั้งค่าการแสดงข้อผิดพลาดของ PHP กับผู้ให้บริการโฮสติ้ง

❸ ปรับหน้า Error ให้สื่อสารกับผู้ใช้

① ใช้ข้อความที่เข้าใจง่าย

ข้อความอย่าง “ไม่พบหน้าที่ต้องการ” หรือ “ไม่สามารถแสดงหน้านี้ได้ในขณะนี้” ช่วยให้ผู้เข้าชมเข้าใจสถานการณ์ โดยไม่แสดงชื่อไฟล์ เส้นทางระบบ ข้อความ SQL หรือข้อมูลบัญชี

② เพิ่มทางกลับไปยังเว็บไซต์

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

③ ใช้วิธีปรับแต่งที่ตรงกับเวอร์ชัน

วิธีสร้างหน้า Error แบบกำหนดเองขึ้นอยู่กับเวอร์ชัน Joomla และเทมเพลตที่ใช้ ให้ทำตามวิธีของเวอร์ชันนั้น และหลีกเลี่ยงการแก้ไฟล์หลักของ Joomla โดยตรง สำรองไฟล์ก่อนปรับแต่งเสมอ

❹ ตรวจสอบผลและป้องกันการเปิดเผยซ้ำ

① ทดสอบรหัสสถานะและข้อความ

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

② ตรวจ Error ที่เกิดจากส่วนเสริม

หากบางหน้าหรือบางฟังก์ชันยังแสดงข้อมูลละเอียด ให้ตรวจส่วนเสริมและเทมเพลตที่เกี่ยวข้อง รวมถึง Log เพื่อหาแหล่งที่มาของข้อความ อย่าแก้ด้วยการซ่อนข้อความอย่างเดียวโดยไม่ตรวจต้นเหตุ

③ ตรวจซ้ำหลังอัปเดต

หลังอัปเดต Joomla เทมเพลต หรือส่วนเสริม ให้ทดสอบหน้า 403, 404 และข้อผิดพลาดที่พบบ่อยอีกครั้ง ComSiam แนะนำให้ตรวจหน้า Error ควบคู่กับการตรวจ Debug และ Log ตามรอบดูแลเว็บไซต์