การใช้ htaccess และ htpasswd เพื่อ Lock Directory
Apache มีแฟ้ม .htaccess และ .htpasswd เพื่อตรวจสอบ user และ password (Using User Authentication)
ทดสอบแล้วที่ http://www.thainame.net/download

ปรับปรุง : 2548-06-22 (สำหรับ windows)
บทนำ
สิ่งที่ได้จากบทความนี้ คือ วิธีการกำหนด username และ password ไม่ให้ใครแอบเข้าห้องที่ท่านต้องการป้องกัน, ห้องที่ท่านอาจเก็บภาพที่ให้ใครดูไม่ได้ หรือ ห้องที่ท่านอาจคิดเก็บตังก่อนให้เขาเข้าไป บริการนี้อาจไม่เปิดในทุก Free Hosting เพราะขึ้นอยู่กับการ Config Server และที่ hypermart.net ซึ่งผมทดสอบ code นี้ก็ใช้งานได้สมบูรณ์ ส่วน Redhat linux 6.2 ที่โต็ะทำงานของผม ก็รับบริการนี้
.htaccess และ .htpasswd รายละเอียด และต้องใช้งานกับ Apache ส่วน IIS หรือ PWS เข้าใจว่ายังไม่บริการ เริ่มศึกษาเมื่อ ตุลาคม 2544 โดยหารายละเอียดจาก redhat.com document จนสรุปได้ว่ามีขั้นตอนดังนี้
1. ในห้อง bin ของ apache พิมพ์ htpasswd -b -d -c .htpasswd uhello psecret (ถ้า uhello คือ user และ psecret คือ password)
2. จากข้อ 1 จะได้แฟ้มชื่อ .htpasswd ถ้ามี user ใหม่ สามารถใช้ htpasswd -nb up pp และนำบรรทัดที่ได้ใส่ใน .htpasswd เพื่อเพิ่มผู้ใช้
3. สามารถ copy .htpasswd ไปที่ใดก็ได้ เพื่ออ้างอิงมาใช้ได้ง่าย เช่น c:\thaiabc\.htpasswd เป็นต้น
4. ห้องใดที่ต้องการ lock ก็ให้สร้างแฟ้มชื่อ .htaccess
ตัวอย่าง code สำหรับแฟ้ม .htaccess
นำอักษรสีแดงเข้าไปใส่ในแฟ้ม .htaccess ซึ่งแฟ้มนี้อยู่ในห้องที่ท่านต้องการ lock
กรณีนี้ ห้องที่ต้องการเก็บแฟ้มรหัสผ่านคือ /home/users/web/b352/hy.thaiwebsearch/secret/.htpasswd
ตัวอย่างระบุแฟ้มรหัสผ่าน /home/burin/public_html/download/.htpasswd
ตัวอย่างระบุแฟ้มรหัสผ่าน c:\thaiabc\.htpasswd
    AuthUserFile /home/users/web/b352/hy.thaiwebsearch/secret/.htpasswd
    AuthName "Secret directory is protected by User and Password : "
    AuthType Basic
    require valid-user
    DirectoryIndex index.html index.htm index.shtml index.php

Code สำหรับ .htpasswd
นำอักษรสีแดงเข้าไปใส่ในแฟ้ม .htpasswd ซึ่งแฟ้มนี้อยู่ในห้องที่ท่านต้องการ lock
กรณีนี้ Username คือ user
กรณีนี้ Password คือ password
แฟ้มนี้สามารถกำหนดได้หลาย user เพียงแต่เพิ่ม user ใหม่ ในบรรทัดใหม่ของแฟ้มนี้
    user:aajfMKNH1hTm2

บริการสร้าง code เพื่อนำไปใส่ใน .htaccess และ .htpasswd สำหรับ hypermart.net
เคยทดสอบ และใช้งานได้กับ f2s.com และ hypermart.net แต่ทั้งสองปิดบริการ Free Web Hosting ไปแล้ว

ข้อมูลเพิ่มเติม
  1. http://www.apacheweek.com/features/userauth
  2. http://www.redhat.com/support/resources/faqs/RH-apache-FAQ/topics/htaccess.html