ป้องกันการแสดงรายชื่อไฟล์บนเว็บเซิร์ฟเวอร์

ผมอนุมานว่าเราติดตั้ง Ubuntu Server 16.04 เรียบร้อยแล้ว โดยขั้นตอนติดตั้งเราเลือกค่าดังนี้

คราวนี้เรามาคอนฟิกค่าเบื้องต้นที่จำเป็นสำหรับการใช้งานเว็บเซิร์ฟเวอร์ปรกติกัน ให้เราแก้ไขไฟล์ /etc/apache2/apache2.conf ดังนี้

<Directory /var/www/>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

เดิม AllowOverride จะมีค่า default เป็น None จากนั้นรีสตาร์ท apache

# service apache2 restart

โดยปรกติแล้วหากเราไม่ได้แก้ไขคอนฟิกอะไรเพิ่มเติม เมื่อเราสร้างไดเร็กทอรี่ขึ้นมาแล้วไม่ได้วางไฟล์ index ป้องกันการแสดงรายชื่อไฟล์ไว้จะเกิดผลลัพธ์ดังนี้

หากเป็นแบบนี้คงไม่ใช่เรื่องดีแน่ๆ ถ้ามีผู้ไม่หวังดีมาเจอเข้า

วิธีแก้ปัญหาที่ง่ายที่สุดคือใช้การกำหนดค่าที่ไฟล์ .htaccess ว่าไม่อนุญาตให้แสดงรายชื่อไฟล์บนเว็บเซิร์ฟเวอร์ โดยกำหนดค่าดังนี้

# BEGIN My Config
# Disable directory browsing
Options All -Indexes
# END My Config

สร้างไฟล์ .htaccess ไว้ที่ไดเร็กทอรี่ /var/www/html/ หลังจากนั้นหากมีการสร้างไดเร็กทอรี่ขึ้นมาใหม่บนเว็บเซิร์ฟเวอร์แล้วไม่มีไฟล์ index วางไว้ เมื่อเปิดจากบราวเซอร์ดูจะได้ผลลัพธ์ดังนี้

Leave a Reply

Your email address will not be published. Required fields are marked *