1.8.x Tính Năng: DF Login OTP

Preview

Tác giả: viguss

Phiên bản: v1.2

Gửi lúc: 27/08/2026

Cập nhật lúc: 09/09/2026

Security
Mô tả
DF Login OTP adds email two-factor authentication to the login flow of the usergroups you protect (admins/moderators by default). Everyone else logs in
exactly as before.

HOW IT WORKS
1. Protected member submits username + password - full form OR header
  quick-login (both supported).
2. Password verified server-side; a random_int() 6-digit code is e-mailed;
  its hash lives in a 15-minute cookie; 60-second e-mail cooldown.
3. The OTP form carries a signed, AES-256-CBC encrypted, time-limited token -
  the password is NEVER rendered in the DOM.
4. Correct code -> token verified with hash_equals -> core login completes.

SECURITY DESIGN
- CSPRNG codes, constant-time comparisons (hash_equals)
- Encrypted + signed + expiring password token
- Rate-limited code e-mails
- No plaintext secrets anywhere in HTML
- Clean uninstall (settings + templates removed)

STRUCTURE (community reviewer standard)
Lifecycle-only main file · hooks.php · handlers.php · permissions.php ·
db.php (schema-less by design, documented) · settings.json/php via
insert_query_multiple · templates.json/php · external stylesheet ·
English + ACP language packs.

BATTLE-TESTED
Installed and live-tested on a production board (data-forums.com) before
submission - quick-login support, mail interpolation and token encryption
were all caught and fixed in real use. Ship what you run.

SETTINGS: protected group IDs (default 3,4).
Support Thread : HERE
[Image: df-otp-email.jpg]

[Image: df-otp-check.jpg]

DF Login OTP thêm xác thực hai yếu tố email vào luồng đăng nhập của các nhóm người dùng bạn bảo vệ (theo mặc định là quản trị viên/quản trị viên). Tất cả những người còn lại đều đăng nhập
y hệt như trước.

CÁCH HOẠT ĐỘNG
1. Thành viên được bảo vệ gửi tên đăng nhập + mật khẩu - tiêu đề OR đầy đủ biểu mẫu
Đăng nhập nhanh (cả hai đều được hỗ trợ).
2. Đã xác minh mật khẩu phía máy chủ; một mã random_int() gồm 6 chữ số được gửi qua email;
hash của nó nằm trong cookie 15 phút; thời gian chờ email 60 giây.
3. Biểu mẫu OTP chứa một token có ký tên, mã hóa AES-256-CBC, có thời hạn -
mật khẩu KHÔNG BAO GIỜ được hiển thị trong DOM.
4. Mã đúng -> token được xác minh với hash_equals -> đăng nhập lõi hoàn tỏa.

THIẾT KẾ BẢO MẬT
- Mã CSPRNG, so sánh thời gian hằng số (hash_equals)
- Mã mật khẩu mã hóa + ký + hết hạn
- Email mã giới hạn tốc độ
- Không có bí mật văn bản thuần túy nào trong HTML
- Gỡ cài đặt sạch sẽ (cài đặt + mẫu đã bị loại bỏ)

STRUCTURE (tiêu chuẩn cộng đồng đánh giá)
Tệp chính chỉ dành cho vòng đời · hooks.php · handlers.php · permissions.php ·
db.php (không có lược đồ theo thiết kế, có tài liệu) · settings.json/php qua
insert_query_multiple · templates.json/php · Bảng kiểu ngoài ·
Các gói ngôn ngữ tiếng Anh + ACP.

ĐÃ ĐƯỢC THỬ THÁCH TRONG CHIẾN ĐẤU
Đã được lắp đặt và kiểm tra trực tiếp trên bo mạch sản xuất (data-forums.com) trước đây
Nộp - Hỗ trợ đăng nhập nhanh, nội suy thư và mã hóa token
Tất cả đều bị bắt và sửa chữa khi sử dụng thực tế. Vận chuyển những gì bạn vận hành.

CÀI ĐẶT: ID nhóm được bảo vệ (mặc định 3,4).
Chủ đề hỗ trợ:ĐÂY
[Image: df-otp-email.jpg]

[Image: df-otp-check.jpg]