เทคนิคให้ Browse ชื่อไฟล์ในไดเร็คตอรี่เว็บของ Apache ได้

โปรแกรมบน CentOS ที่ควรติดตั้งใช้งานร่วมกับ VoIP Server

เทคนิคให้ Browse ชื่อไฟล์ในไดเร็คตอรี่เว็บของ Apache ได้

โพสต์โดย nuiz » 13 เม.ย. 2010 23:43

ตามปกติเวลาผมติดตั้ง Apache เสร็จแล้ว ผมมักจะแก้ไขไฟล์คอนฟิก /etc/httpd/conf/httpd.conf อยู่หลายส่วนด้วยกันเพื่อปกป้อง Apache และ Server ของจากผู้ไม่หวังดีไม่ให้รู้ได้ง่ายๆว่าในเครื่องของผมใช้ Apache เวอร์ชั่นอะไร รัน OS ตัวไหนอยู่และเวอร์ชั่นอะไร อย่างหนึ่งที่ผมมักจะทำคือ ปิดไม่ให้ Browseไฟล์ในเว็บไดเร็คตอรี่ได้และเมื่อมีใครพยายามเปิดไฟล์ที่ไม่มีอยู่ในไดเร็คตอรี่นั่น หรือไม่ได้ระบุชื่อไฟล์มาด้วย (ยกเว้น index.html, index.php สองไฟล์นี้ไม่ต้องระบุชื่อไฟล์มาครับ) Apache ก็จะบอกส่งกลับไปบอกว่า 403 Forbidden
แต่การทำแบบนี้มันจะมีผลกับทุกๆไดเร็คตอรี่ของ Web Server ผู้ใช้งานต้องระบุชื่อไฟล์มาด้วย เช่น http://x.x.x.x/myweb/report.html ไม่อย่างนั้นก็จะได้ 403 Forbidden กลับไป มีบางเพจที่ผมต้องการให้ยูสเซอร์เห็นชื่อไฟล์ทุกไฟล์ข้างใน เช่นไดเร็คตอรี่ที่เก็บไฟล์ไว้ให้ดาวน์โหลด ผมต้องการให้ยูสเซอร์พิมพ์เท่านี้ว่า http://x.x.x.x/soundmonitor ก็จะเห็นทุกไฟล์ข้างใน

directory-browsing.png
Browsing Directory
directory-browsing.png (127.47 KiB) เปิดดู 3062 ครั้ง


และเมื่อพยายามคลิ๊กที่ Parent Directory ก็จะเห็นแบบนี้ครับ เพราะว่าเพจอื่นผมไม่ได้เซ็ตให้ Browse ได้

forbidden.png
Forbidden
forbidden.png (15.89 KiB) เปิดดู 3062 ครั้ง


มีวิธีการทำไม่ยากครับ ดังนี้

สร้างไฟล์ /etc/httpd/conf.d/alias.conf

และใส่ข้อมูลดังต่อไปนี้

Alias /download /opt/download

<Directory "/opt/download">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

ใส่คำว่า Indexes ตรง Options รีสตาร์ท Apache ใหม่ ก็เรียบร้อยครับ

บทความที่เกี่ยวข้อง
การติดตั้ง Apache Web Server บน CentOS, RHEL
เทคนิคการใช้งาน Alias บน Apache Web Server
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7069
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง CentOS - The Community Enterprise Operating System

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 11 ท่าน

cron