วิธีรหัสผ่านป้องกันเว็บไซต์ Apache โดยใช้. htaccess
หากคุณใช้งานเว็บไซต์ด้วย Apacheการรักษาความปลอดภัยให้กับเว็บไซต์ด้วยรหัสผ่านเป็นกระบวนการที่ง่าย ฉันเพิ่งวิ่งผ่านกระบวนการในกล่อง Windows (ส่วนใหญ่ของภาพด้านล่าง) แต่ขั้นตอนค่อนข้างเหมือนกันสำหรับไซต์ Windows หรือ Linux Apache
ขั้นตอนที่ 1: กำหนดค่าไฟล์. htaccess ของคุณ
งานทั้งหมดจะทำโดยใช้ไฟล์. htaccess ของคุณ คุณสามารถค้นหาไฟล์นี้ได้ที่รูทของเว็บไซต์ Apache ส่วนใหญ่
ภาพหน้าจอนี้ถ่ายจากการติดตั้งวานิลลาของ WordPress ที่ทำงานบน Windows 2003 Server:

ไฟล์. htaccess จะถูกตรวจสอบโดย Apache ก่อนที่จะแสดงหน้าเว็บ โดยทั่วไปจะใช้สำหรับ ReWrites หรือ ReDirects อย่างไรก็ตามคุณสามารถใช้เพื่อเพิ่มความปลอดภัยในตัวของ Apache
ดังนั้นขั้นตอนแรกคือการเพิ่มพารามิเตอร์ไม่กี่ไฟล์ ด้านล่างเป็นไฟล์. htaccess ตัวอย่าง (เคล็ดลับ: ฉันใช้ notepad ++ เพื่อแก้ไข PHP และไฟล์ส่วนใหญ่ที่เกี่ยวข้อง)
AuthUserFile c:apachesecurity.htpasswd AuthName "Please Enter User & PW" AuthType Basic require valid-user
คำอธิบายบางอย่าง:
AuthUserFile: APACHE ต้องการตำแหน่งของผู้ใช้ / รหัสผ่านไฟล์. เพียงป้อนเส้นทางแบบเต็มไปยังไฟล์ฐานข้อมูลรหัสผ่านตามที่แสดงด้านบน ตัวอย่างข้างต้นนำมาจากกล่อง Windows ของฉัน หากคุณใช้งาน Linux จะเป็นดังนี้: AuthUserFile /full/path/to/.htpasswd
AuthName: ฟิลด์นี้กำหนดหัวข้อและข้อความสำหรับกล่องป๊อปอัพซึ่งจะขอชื่อผู้ใช้และ PW คุณสามารถทำสิ่งนี้ตามที่คุณต้องการ นี่คือตัวอย่างในกล่องทดสอบของฉัน:

AuthType: ฟิลด์นี้จะบอก Apache ว่าจะใช้การรับรองความถูกต้องแบบใด ในเกือบทุกกรณี“ พื้นฐาน” นั้นใช้ได้ (และเป็นเรื่องธรรมดาที่สุด)
ต้องการผู้ใช้ที่ถูกต้อง: คำสั่งสุดท้ายนี้อนุญาตให้ Apache ทราบว่าได้รับอนุญาตจากใคร โดยใช้ "ที่ถูกต้องของผู้ใช้“ คุณกำลังบอก Apache ANYONE ที่ได้รับอนุญาตให้ตรวจสอบหากพวกเขามีชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง
หากคุณต้องการได้มากกว่า EXACT คุณสามารถระบุ USER หรือ USERS ที่เฉพาะเจาะจงได้ คำสั่งนี้จะมีลักษณะดังนี้:
Require user mrgroove groovyguest
ในกรณีนี้เฉพาะผู้ใช้ mrgroove และgroovyguest จะได้รับอนุญาตให้เข้าสู่หน้า / ไดเรกทอรีที่คุณปกป้อง (หลังจากระบุชื่อผู้ใช้และรหัสผ่านที่ถูกต้องแล้ว) ผู้ใช้อื่น ๆ (รวมถึงผู้ใช้ที่ถูกต้อง) จะถูกปฏิเสธการเข้าถึง หากคุณต้องการอนุญาตผู้ใช้เพิ่มเติมให้แยกพวกเขาด้วยช่องว่าง
ดังนั้นตอนนี้เราได้ทำการตั้งค่า config เรียบร้อยแล้วต่อไปนี้เป็นไฟล์. htaccess ที่เสร็จสิ้นแล้วของคุณควรมีลักษณะดังนี้:
สกรีนช็อตนำมาจากกล่อง Windows 2003 Server ที่ใช้ WordPress:

ขั้นตอนที่ 2: สร้างไฟล์. htpasswd
การสร้างไฟล์. htpasswd เป็นกระบวนการง่ายๆ ไฟล์นี้ไม่มีอะไรมากไปกว่าไฟล์ข้อความที่มีรายชื่อผู้ใช้และรหัสผ่านที่เข้ารหัสของพวกเขา แต่ละสตริงผู้ใช้ควรแยกออกจากกัน ส่วนตัวผมใช้ notepad ++ หรือ Windows Notepad เพื่อสร้างไฟล์
ภาพด้านล่างเป็นไฟล์. htpasswd ตัวอย่างที่มีผู้ใช้สองคน:

แม้ว่า Apache จะไม่“ ต้องการ” ให้คุณเข้ารหัสรหัสผ่าน แต่เป็นกระบวนการที่ง่ายสำหรับทั้งระบบ Windows และ Linux
ของ windows
นำทางไปยังโฟลเดอร์ Apache BIN ของคุณ (มักจะพบที่ C: โปรแกรม FilesApache GroupApache2bin) และเรียกใช้เครื่องมือ htpasswd.exe เพื่อสร้างสตริงชื่อผู้ใช้ / รหัสผ่านที่เข้ารหัส MD5 นอกจากนี้คุณยังสามารถใช้เครื่องมือเพื่อสร้างไฟล์. htpasswd สำหรับคุณ (ทำงานได้ทุกอย่าง ... ) สำหรับรายละเอียดทั้งหมดเพียงแค่ดำเนินการสลับความช่วยเหลือจากบรรทัดคำสั่ง (htpasswd.exe /?)
อย่างไรก็ตามในเกือบทุกกรณีให้เรียกใช้คำสั่งต่อไปนี้:
htpasswd -nb username password
เมื่อคำสั่งถูกเรียกใช้งานเครื่องมือ htpasswd.exe จะส่งออกสตริงผู้ใช้โดยมีการเข้ารหัสรหัสผ่าน
ภาพหน้าจอด้านล่างเป็นตัวอย่างของการใช้งานเครื่องมือ htpasswd.exe บน Windows 2003 Server

เมื่อคุณมีสตริงผู้ใช้ให้คัดลอกลงในไฟล์. htpasswd ของคุณ
ลินุกซ์:
ไปที่: http://railpix.railfan.net/pwdonly.html เพื่อสร้างสตริงผู้ใช้ของคุณด้วยรหัสผ่านที่เข้ารหัส กระบวนการที่ง่ายมาก
ขั้นตอนที่ 3: ตรวจสอบว่า Apache ได้รับการกำหนดค่าอย่างเหมาะสม * เป็นทางเลือก
โดยค่าเริ่มต้น Apache มีการเปิดใช้งานโมดูลที่ถูกต้อง อย่างที่ได้กล่าวไปแล้วว่ามันไม่เคยเจ็บปวดที่จะเป็นเชิงรุกเพียงเล็กน้อยและเป็นการตรวจสอบที่รวดเร็ว
เปิดไฟล์ Apache httpd.conf ของคุณและตรวจสอบว่าโมดูล AUTH เปิดใช้งานแล้ว:

หากคุณไม่ได้เปิดใช้งานโมดูลให้แก้ไขให้ถูกต้องตามที่แสดงไว้ด้านบน อย่าลืม คุณต้องรีสตาร์ท Apache เพื่อให้การเปลี่ยนแปลง httpd.conf ของคุณมีผล
ที่ควรดูแลมัน เสร็จหมดแล้ว.
ป้ายกำกับต่างๆ: apache, การเข้ารหัส, htaccess, ความปลอดภัย, หน้าต่าง
ทิ้งข้อความไว้