[เทคนิค] การใช้ htaccess เพื่อปิดการเข้าถึง Directory ที่เอาไว้เก็บรูปภาพ

เริ่มโดย UnzO, 10 กุมภาพันธ์ 2013, 22:24:54

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

UnzO

บทความนี้เป็นบทความที่ผมได้เขียนเอาไว้ที่เว็บบล๊อกส่วนตัวนะครับ แต่เห็นว่าเป็นประโยชน์กับเพื่อนๆ เลยเอามาโพสให้ได้อ่านกันอีกรอบครับ
=====================================
เทคนิคอันนี้เป็นเทคนิคที่ผมใช้ไปกับเว็บไซต์ของบริษัทที่ผมทำงานอยู่ เพื่อเอาไว้ป้องกันการเรียก directory เพื่อขอดูรายการไฟล์ Directory Listings ในโฟลเดอร์ที่เอาไว้เก็บไฟล์ต่างๆ เช่น รูปภาพ หรือว่า ไฟล์อื่นๆ โดยใช้ htacess ซึ่งถือว่าเป็นเทคนิคง่ายๆ ที่ช่วยเราได้มากเลยครับ

โดยทั่วไปแล้วเวลาที่เราทำการเรียก directory ใดๆ บนเครื่อง server แล้วนั้น หากในนั้นไม่มีไฟล์ index (index.html, index.shtml หรือ index.php) ตัว apache จะทำการแสดงรายการไฟล์ใน directory นั้นออกมา ซึ่งจะปลอดภัยในระดับหนึ่ง เช่นในกรณีที่เราต้องเก็บไฟล์รูปภาพไว้มากๆ ในโฟลเดอร์ใดๆ หาก Hacker เรียก Directory นั้นโดยตรงก็จะทำให้โดนขโมยรูปได้โดยง่ายเลยหล่ะครับ ดังรูปด้านล่าง



หากโดนเรียก Directory ตรงๆ ก็อาจจะโดนขโมยรูปได้ง่ายๆ เลยหล่ะ
สำหรับวิธีการในการป้องกันนั้นมีให้เราเลือกได้หลายวิธีครับ มาดูกันเลยครับ

วิธีที่ 1 สร้างไฟล์ index.html, index.shtml หรือ index.php ไว้ในทุกโฟลเดอร์

วิธีนี้เป็นวิธีที่ง่ายที่สุดแต่มีความลำบากและค่อนข้างวุ่นวายหากในโฟลเดอร์นั้นมีหลายๆ โฟลเดอร์ย่อย เนื่องจากต้องสร้างไฟล์ index ที่ว่านั้นใส่ไว้ในทุกๆ โฟลเดอร์นั่นเองครับ

วิธีที่ 2 ใช้ htaccess ช่วยในการกำหนดคุณสมบัติของโฟลเดอร์

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

เริ่มจากสร้างไฟล์และใส่ code ด้านล่างไว้ในไฟล์

Options -Indexes
หลังจากนั้นให้เซฟไฟล์ดังกล่าวชื่อ .htaccess (เทคนิคการสร้างไฟล์นี้คือให้เปิดโปรแกรม Text Editor แล้วให้กด File > Save As... แล้วให้เลือก File type เป็น All Files ดังรูปด้านล่างครับ)



ให้เซฟภาพตามนี้เลยนะครับ เซฟไว้ที่ directory ที่ต้องการจะปิดนะครับ
ก็จะสามารถปิดการเข้าถึง Directory นั้นๆ และ Directory ย่อยๆ ได้โดยจะแสดงหน้า Error 403 ออกมาให้เราเห็นแบบนี้นะครับ



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

IndexIgnore *.jpg *.gif
จากโค๊ดด้านบนจะทำให้ไม่แสดงเฉพาะไฟล์ .jpg และ .gif แต่สำหรับไฟล์อื่นๆ ก็ยังแสดงใน Directory Listings ตามปกตินะครับ

เอาหล่ะ สำหรับบทความนี้ผมก็บอกตรงๆ เลยว่าใช้เวลาเขียนค่อนข้างนานเลยหล่ะครับ แต่ถือว่าคุ้มค่ามากๆ หากมันสามารถช่วยใครได้บ้างนะครับ สำหรับวันนี้ สวัสดีจ้าาาา ^__^

=====================================

ลิ้งค์บทความต้นฉบับนะครับ ยังมีเรื่องอื่นๆ ที่น่าสนใจอีกนะครับ http://www.thai2how.com/apache-ป้องกันการเรียกรายการไฟล์ใน-directory-ที่เอาไว้เก็บไฟล์/

mosmf

[direct=http://smfmodify.blogspot.com/][/direct]


nuvatchai

ถ้าโฮส cpanel แรกไม่ได้ทำไรเลยจะ Options +Indexes คือมีไรโชว์หมด ถ้าใครใช้ directadmin จะเป็น Options -Indexes ไว้ให้แล้วอัตโนมัต

tdelphi



UnzO

อ้างถึงจาก: tdelphi ใน 10 กุมภาพันธ์ 2013, 23:54:09
เอาไฟล์  index.html  ว่างๆ วางลงไปก็ได้ครับ  :wanwan004:
เผื่อคนที่ทำ hash แล้วสร้าง directory ไว้เก็บรูปหลายๆ ชั้นครับพี่ อิอิ


jcwa_wlp

ขอบคุณค่ะ เป็นความรู้มากมาย  ตอนนี้กำลังศึกษา .htaccess
link removed

ยิ้มโค้ด.คอม


ayeweb


[direct=https://www.bitimer.in.th/]ข่าวไอที[/direct] ข่าวสารไอที แอพไอโฟน บริการอื่นๆ
[direct=https://page.line.me/gnm7628z]บริการ ตรวจหวย[/direct] อื่นๆ ทั่วไปสาระน่ารู้ ความรู้ต่างๆ
[direct=https://goo.gl/XQp91t]Host ไทย[/direct] เว็บผู้หญิงนะคะ แต่ผู้ชายก็เข้าได้ค่ะ
[direct=https://page.line.me/oer1981h]ตรวจหวย[/direct]
ตรวจหวย ผลสลากกินแบ่งรัฐบาล>>
[direct=https://goo.gl/H3JCzK]เช่าโฮสติ้ง Ruk-com[/direct]

969

อ้างถึงจาก: tdelphi ใน 10 กุมภาพันธ์ 2013, 23:54:09
เอาไฟล์  index.html  ว่างๆ วางลงไปก็ได้ครับ  :wanwan004:

สงสัยต้องนานว่า wp มันเอาไปวางไว้ทำมัย
articlebuilder โปรแกรมส้รางบทความภาษาอังกฤษ มีใครสนใจจะใช้ไม่ครับเปิดแชร์ให้ ใช้ได้ 1 ปี รับแค่ 2 คน จ่ายเพียงคนละ 3000 บาทใช้ได้ 1 ปีครับ จากราคาเต็มปีละ $297 สนใจ PM

เนื่องจาก Mail โดนให้ยืนยันตน ecommerce94@ฮอตเมล.com แต่ผมทิ้งเบอร์โทรที่ใช้กับเมลนี้ไปแล้วตอนนี้เลยใช้ไม่ได้ให้ติดต่อที่เมลใหม่ mybsiz@เอ้าลุค.com (outlook) นะครับ ไม่ได้ค่อยตอบ pm ให้ติดต่อผมที่ Mail ที่แจ้งเลยครับ

BrainFreeze

# จัดไป Promo Code ลด 11% : THAISEOBOARD
# [direct=https://www.hostatom.com]hostatom.com[/direct] |โฮสอะตอม - เว็บโฮสติ้งที่ Webmaster มืออาชีพไว้วางใจ
# [direct=https://www.hostatom.com/web-hosting]Web Hosting[/direct] | [direct=https://www.hostatom.com/cloud-vps]Cloud VPS[/direct] | [direct=https://www.hostatom.com/reseller-hosting]Reseller Hosting[/direct] | [direct=https://www.hostatom.com/domain-name]Domain Name[/direct]
# บริการ 24x7 | รับประกันความพอใจยินดีคืนเงิน | Uptime 99.9% | โทร : 0-2107-3466