เพิ่มความแข็งแกร่งให้เว็บไซต์ ด้วย Apache mod_auth ( htaccess )
บ่อยครั้งที่เราพบเจอกับปัญหา เกี่ยวกับความปลอดภัยของเว็บไซต์ เช่นหน้า administrator ของ joomla , wp-admin ของ wordpress หรือ เว็บไซต์ทั่วๆ ไปก็ตาม เราอาจจะสร้างระบบความปลอดภัยอย่างง่ายๆ และมีประสิทธิภาพ ด้วย Apache mod_auth ( htaccess ) มาช่วยครับ หรือบางทีก็เรียกว่า realm authentication ครับ ซึ่งจริงๆ หลายท่านอาจจะเคยเห็นแล้ว แต่ยังไม่ได้คำตอบว่า จะสร้างมาได้อย่างไรบ้าง และในวันนี้ เราจะมาดูกระบวนการทำ htaccess authentication กันนะครับ
ในตัวอย่างนี้ จะเป็นการสร้าง htaccess authentication ด้วย Fedora , CentOS , RedHat Linux นะครับ แต่ ลินุกซ์ ตระกูลอื่นๆ ก็สามารถทำได้เหมือนกัน แต่อาจจะเปลี่ยนพาธของไฟล์ / โฟลเดอร์ แค่นั้นเองครับ
ขั้นตอนที่ 1
สร้างไดเรคเทอรีทดสอบ
# mkdir /var/www/html/private
ขั้นตอนที่ 2
สร้างไฟล์ .htaccess ภายใต้ไดเรคเทอรี /var/www/html/private โดยมีเนื้อหาดังนี้
AuthName “Authorized Users Only.”
AuthType Basic
AuthUserFile /etc/httpd/conf/.htpasswd
require user somsak
ขั้นตอนที่ 3
เพิ่มผู้ใช้งานที่สามารถลอกอินเข้าสู่ระบบในแบบ htaccess ได้
[root@netserv ~]# htpasswd -c /etc/httpd/conf/.htpasswd somsak
New password:
Re-type new password:
Adding password for user somsak
ขั้นตอนที่ 4
เปลี่ยนสิทธิของไฟล์ .htaccess ให้เป็นของผู้ใช้ apache
[root@netserv ~]# chown apache:apache /etc/httpd/conf/.htpasswd
ขั้นตอนที่ 5
แก้ไขสิทธิในการเข้าถึงไดเรคเทอรี /var/www/html ในไฟล์ /etc/httpd/conf/httpd.conf ให้สามารถใช้งานโมดูล AuthConfig ได้ ดังนี้
จาก
AllowOverride None
เป็น
AllowOverride AuthConfig
ขั้นตอนที่ 6
ทดสอบการใช้งานโดยการลองเปิดหน้าเว็บบราวเซอร์ขึ้นมา แล้วเรียกไปยัง http://192.168.2.1/private จะมีหน้าต่างให้ลอกอินดังรูป














