การ lock folder ผ่าน .htaccess เมื่อใช้ apache บน windows

authentication
authentication
ปกติผมจะ lock การเข้าถึง folder ด้วย .htaccess บน linux
แต่เพื่อนบอกว่าต้องการ lock บน windows ที่ใช้ apache ด้วย
จึงสรุปบทเรียน โดยทดสอบกับ web server ที่ใช้ xampp ไว้ดังนี้
1. เปิดแฟ้ม httpd.conf ไม่ได้แก้ไขอะไรเลยครับ สำหรับ xampp รุ่นใหม่
บางคำแนะนำต้องเข้าไปกำหนดให้ค่าให้ AccessFileName เป็น .htaccess
ซึ่งคาดว่าเป็น apache รุ่นเก่า ที่ต้องกำหนด
2. การสร้างแฟ้ม .htaccess และที่ต้องเก็บแฟ้มนี้
การสร้างแฟ้ม .htaccess นั้น สร้างไว้เฉพาะใน folder ที่ต้องการ lock
จะใช้ notepad หรือ editplus ก็สร้างแฟ้มนี้ได้ครับ ทดสอบบน win8
AuthUserFile c:\xampp\htdocs\.htpasswd
AuthName “Secret directory is protected by User and Password : ”
AuthType Basic
require valid-user
DirectoryIndex index.html index.htm index.shtml index.php
อันที่จริงแฟ้ม .htpasswd จะชื่ออะไรก็ได้นะครับ เช่น htpasswd.burin ก็ไหวอยู่
3. การสร้างแฟ้ม .htpasswd
เริ่มต้นก็จะต้องเข้า DOS แล้วเข้าห้อง apache/bin ถ้า xampp ก็เป็น C:\xampp\apache\bin
แล้วพิมพ์ C:\xampp\apache\bin> htpasswd -c -b .htpasswd myname mypass
ถ้ากำหนดให้ username คือ myname และ password คือ mypass
ผลคือได้แฟ้ม .htpasswd ไปไว้ในห้องที่ต้องการ อาจใช้ร่วมกันก็ได้
อธิบาย Parameter เพิ่มเติม
-c คือ Create a new file
-b คือ Use the password from the command line rather than prompting for it
สิ่งที่พบในแฟ้ม .htpasswd เช่น myname:$apr1$UJoJl1y.$4oA4HWoxl16mGQX5ekagg0
จะเห็น username ที่อ่านรู้เรื่อง แต่ password ถูกเข้ารหัส
ซึ่งผมสร้าง .htpasswd จาก win8 แต่ส่งไปใช้ใน win2008 ไม่พบปัญหาการ decryption
อ้างอิงจาก

Author: บุรินทร์ รุจจนพันธุ์

I am Lecturer, Developer, Researcher, Columnist, Writer, Photographer, and Webmaster - L@mpang man

Leave a Reply