01/10/2018, 13:38

Làm thế nào để tạo code mã hóa gửi tới các user khi muốn đổi mật khẩu?

Tình hình là em muốn thêm chức năng khi người dùng muốn đổi mật khẩu thì sẽ gửi qua email một đường link để đổi mk. Với 2 biến truyền là email=tenemail&code=ncbhdhcgh gì đó.

  • Điều kiện là tenemail phải tồn tại thì dễ r. Và phải xác nhận mã code đã được sử dụng chưa.
    => Cái e đang vướng là sẽ “tạo ra chuỗi code mã hóa” với loại mã hóa nào sẽ an toàn và trong database sẽ phải tạo thêm 1 table ghi nhận lại các mã code hay sao m.n ơi, giúp e với! T_T
Vô Thin viết 15:47 ngày 01/10/2018

Chi mà phức tạp vậy nè. Đơn giản là bạn sinh ra một mã ngẫu nhiên có độ dài cũng nên ngẫu nhiên luôn (dài từ 10 đến 15 ký tự chẳng hạn). Sau đó ghi nó vào cơ sở dữ liệu & gửi email cái link có kèm mã đó (sau khi đã tìm kiếm trong CSDL xem liệu có vô tình có một mã như vậy còn nằm trong đó không), kèm với một cột ngày giờ hết hạn (kể từ lúc người dùng muốn reset mật khẩu - 24 hoặc 48 tiếng gì đó), khi người dùng click vào link thì tìm lại trong CSDL có khớp email và mã đó không, có còn trong thời hạn 24-48 tiếng không, nếu khớp thì hiển thị cửa sổ cho đặt mật khẩu mới và xóa mã đó trong CSDL để tránh dùng lại thêm lần nào nữa. Nếu không khớp thì thông báo link đã hết hạn, cần điền email để lấy lại link khác. Như vậy, trong một thời điểm, trong CDSL của bạn có chưa tới 20 mã như vậy, vì số người quên mật khẩu tại một thời điểm không nhiều đâu, có gì mà phải lo lắng.

Tạo mã random thì code đầy trên mạng, ví dụ ở đây có hàm nè.

Cong 5 viết 15:49 ngày 01/10/2018

Softcover.io

Ruby on Rails Tutorial (Rails 5)

Newly updated for Rails 5, the Ruby on Rails Tutorial book and screencast series teach you how to develop and deploy real, industrial-strength web applications with Ruby on Rails, the open-source web framework that powers top websites such as...


trong này có 1 cái example nói về reset password này , flow thì như bạn trên nói đó…

Aragami1408 viết 15:52 ngày 01/10/2018

Xem qua API của Face book ý

SangBV viết 15:53 ngày 01/10/2018

Cám ơn “Vô Thin” nhiều nha. Mình tìm được hướng có thể giải quyết ok r. Thanks nhiều nhiều luôn.

SangBV viết 15:47 ngày 01/10/2018

Quào. . thanks bạn nha

SangBV viết 15:41 ngày 01/10/2018

ok mình tìm được hướng giải quyết ok r. Thanks “Cong 5” nhiều nha

Vô Thin viết 15:40 ngày 01/10/2018

Mình tìm được hướng có thể giải quyết ok r. Thanks nhiều nhiều luôn.

Nhớ là khi người dùng đã reset mật khẩu thì xóa các mã ngẫu nhiên kia khỏi table cho nó nhẹ và không ai có thể dùng lại lần 2, để tránh tiềm ẩn rủi ro kiểu brute force gì đó.

SangBV viết 15:43 ngày 01/10/2018

Mỗi web làm thêm xí xí, h càng làm càng đào sâu vào bảo mật. Lòi ra quá trời cái ngoài hành tinh mới biết. =))

Bài liên quan
0