Trình tạo htpasswd
Tạo mục .htpasswd an toàn cho xác thực cơ bản HTTP
Công cụ htpasswd tạo mục mật khẩu cho xác thực cơ bản của máy chủ Apache HTTP (file .htpasswd). Các file này chứa cặp người dùng:mật khẩu bảo vệ thư mục web, bảng quản trị và môi trường phát triển.
.htpasswd là gì?
File .htpasswd lưu trữ tên người dùng và mật khẩu đã hash được mô-đun mod_auth_basic của Apache sử dụng. Khi người dùng truy cập thư mục được bảo vệ, Apache yêu cầu thông tin đăng nhập.
✅ Thuật toán hỗ trợ
- • bcrypt ($2y$): Tùy chọn an toàn nhất với hệ số chi phí thích ứng. Khuyến nghị cho mọi cài đặt mới
- • APR1 MD5 ($apr1$): Biến thể MD5 dành cho Apache. Tương thích tốt với phiên bản cũ
- • SHA-1 ({SHA}): Hash SHA-1 mã hóa Base64. Đơn giản với bảo mật cơ bản
- • crypt(): Mã hóa DES Unix truyền thống. Hỗ trợ tối đa 8 ký tự mật khẩu
📊 Trường hợp sử dụng
- • Bảng quản trị: Bảo vệ wp-admin, phpMyAdmin hoặc khu vực quản trị tùy chỉnh
- • Trang staging: Giữ môi trường phát triển và staging riêng tư
- • Điểm cuối API: Thêm lớp xác thực cơ bản cho REST API
- • File tĩnh: Hạn chế truy cập tài liệu và tải xuống nhạy cảm
⚠️ Lưu ý bảo mật
Luôn dùng bcrypt cho mục htpasswd mới. APR1 và SHA-1 được hỗ trợ để tương thích nhưng yếu hơn.
🔄 So sánh thuật toán
bcrypt ($2y$)
Chi phí thích ứng, khó bẻ khóa nhất
Lựa chọn tốt nhất cho cài đặt mới
APR1 MD5 ($apr1$)
1000 vòng MD5 với salt
Dành cho Apache, tương thích tốt
SHA-1 / crypt
Hash một lần
Chỉ dùng cho hệ thống cũ
Câu hỏi thường gặp ❓
Cách sử dụng mục htpasswd đã tạo?
Tạo file .htpasswd ngoài thư mục web root và dán mục vào. Thêm chỉ thị AuthType Basic, AuthName, AuthUserFile và Require valid-user.
Nên chọn thuật toán nào?
Luôn chọn bcrypt cho cài đặt mới. Dùng APR1 chỉ khi Apache không hỗ trợ bcrypt (trước 2.4).
Có thể có nhiều người dùng trong một file không?
Có. Thêm một mục mỗi dòng. Mỗi người dùng có thể dùng thuật toán khác nhau.