เซิร์ฟเวอร์ Apache มีกลไกการตรวจสอบสิทธิ์ผู้ใช้ในตัว ตราบใดที่คุณตั้งค่าอย่างเหมาะสม คุณสามารถควบคุมบางส่วนของเว็บไซต์ให้ต้องมีการตรวจสอบสิทธิ์ผู้ใช้ได้ ตราบใดที่คุณติดตามฉันทีละขั้นตอน คุณจะสามารถใช้การยืนยันผู้ใช้ได้อย่างง่ายดาย
การเตรียมการ: ต้องติดตั้ง Apache
ขั้นตอนที่ 1:
เราสร้างไดเร็กทอรีทดสอบภายใต้ /var/www (ไดเร็กทอรีรากของโฮมเพจของ apache)
mkdir /var/www/test.mkdir
ขั้นตอนที่ 2:
จากนั้นเราแก้ไข httpd.conf
เพิ่มไปที่
นามแฝง /test"/var/www/test" <ไดเรกทอรี "/var/www/test"> ตัวเลือกจัดทำดัชนี MultiViews AllowOverride AuthConfig #ระบุลำดับการตรวจสอบสิทธิ์ อนุญาต,ปฏิเสธ อนุญาตจากทั้งหมด ไดเร็กทอรี> #AllowOverride AuthConfig หมายถึงการตรวจสอบสิทธิ์ซึ่งเป็นการตั้งค่าที่สำคัญ
ขั้นตอนที่ 3:
สร้างไฟล์ .htaccess ใน /var/www/test
vi /var/www/test/.htaccess
AuthName "เว็บแบ่งปันตรงไปตรงมา"
AuthType พื้นฐาน
AuthUserFile /var/www/test/.htpasswd
ต้องการผู้ใช้ที่ถูกต้อง
#คำอธิบาย AuthName เขียนอะไรก็ได้ที่คุณต้องการ
#AuthUserFile /var/www/test/.htpasswd
#require valid-user หรือ need user frank จำกัดผู้ใช้ที่ถูกกฎหมายหรือผู้ใช้ที่ระบุทั้งหมด
#ขอแนะนำให้ใช้ .htpasswd สำหรับไฟล์รหัสผ่าน เนื่องจากระบบเริ่มต้นของ Apache ไม่อนุญาตให้อ่านไฟล์ที่ขึ้นต้นด้วย ".ht" จากภายนอกตามค่าเริ่มต้น ดังนั้นปัจจัยด้านความปลอดภัยจะสูงกว่า
ขั้นตอนที่ 4:
เพียงสร้างผู้ใช้ที่ได้รับการยืนยันสำหรับ apache
htpasswd -c /var/www/test/.htpasswd ตรงไปตรงมา
#เมื่อสร้างผู้ใช้เป็นครั้งแรก คุณต้องใช้พารามิเตอร์ -c เมื่อคุณเพิ่มผู้ใช้เป็นครั้งที่สอง คุณไม่จำเป็นต้องใช้พารามิเตอร์ -c
หากคุณต้องการเปลี่ยนรหัสผ่าน คุณสามารถดำเนินการดังต่อไปนี้
htpasswd -m .htpasswd ตรงไปตรงมา
ขั้นตอนที่ 5:
ตกลง เริ่มบริการ apache ใหม่ จากนั้นไปที่ http://ที่อยู่เว็บไซต์ของคุณ/ทดสอบ หากทุกอย่างเป็นไปด้วยดี คุณจะเห็นหน้าต่างป๊อปอัปสำหรับการยืนยันผู้ใช้ เพียงกรอกชื่อผู้ใช้และรหัสผ่านที่สร้างในขั้นตอนที่ 4
เพื่อประสิทธิภาพการทำงานของเซิร์ฟเวอร์ โดยทั่วไปไม่แนะนำให้ใช้ AllowOverride AuthConfig หรือ AllowOverride ALL เนื่องจากจะทำให้เซิร์ฟเวอร์ค้นหา .htaccess อย่างต่อเนื่อง ซึ่งส่งผลต่อประสิทธิภาพของเซิร์ฟเวอร์ โดยทั่วไป เราอาจจำเป็นต้องตรวจสอบสิ่งนี้ จำเป็นต้องมีอินเทอร์เฟซการจัดการพื้นหลังหรือไดเร็กทอรีพิเศษอื่น ๆ