Nội dung bài viết
Video học lập trình mỗi ngày
Send OTP đến người dùng là một cách không mới trong những năm gần đây. Nhưng kiến trúc và bảo mật của nó thế nào thì mỗi hệ thống đều có cách triển khai riêng. Chắc chắn rằng không có một hệ thống nào hoàn hảo và bảo mật tuyệt đối. Nhưng mỗi lập trình viên phải hạn chế rủi ro khi phát triển một hệ thống.
Nếu như các bạn quan tâm đến Series DESIGNING AN E-COMMERCE WEBSITE ALICONCON Có thể ghé thăm những bài viết khác.
Kiến trúc send OTP
Ở phần 3 này chúng ta sẽ nói đến cách triển khai send OTP đến người dùng đăng ký hệ thống. Và kiến trúc như sau:
Có thể thấy xu hướng hiện nay trong UX. Thì người dùng chỉ cần nhập Email
or NumberPhone
chứ không phải phải nhập các thông tin rườm rà như trước đây. Quá trình như sau:
- (1) User đăng ký, và gửi tới hệ thống proxy aliconcon.
- Proxy chuyển xuống Backend, kiểm tra nếu tài khoản chưa đăng ký thì tạo OTP.
- OTP chuyển qua
Email
orNumberPhone
- User nhận được và verify OTP. Sau đó thành công thì update Profile.
Bảo mật khi send OTP
Có những vấn đề sau đây. Thứ nhất đó là phải mã hóa OTP
trước khi lưu xuống Database. Thứ hai, xóa OTP khi xác nhận thành công hoặc OTP hết hạn verify. Thứ 3, ngăn chặn hành vi Tấn công OTP với lượng request lớn như năm 2019, một vụ hack vào MXH, instagram How I could’ve bypassed the 2FA security of Instagram once again?
Các bạn có thể xem video ở phía trên bài viết để tham khảo cho bản thân mình nếu rơi vào tình huống này.
Nhớ đón xem phần 4: Lưu trữ Shema Products trong TMĐT như thế nào?