2009-07-24 56 views
5

Tôi đang tìm một số hướng dẫn về triển khai dịch vụ khôi phục mật khẩu trong ASP.NET để gửi email liên kết tới người dùng gửi chúng tới trang đặt lại mật khẩu vì tôi không muốn gửi email mật khẩu hiện có hoặc được tạo lại trong văn bản rõ ràng.
Tôi đã thấy một số gợi ý về việc sử dụng id thành viên như một tham số chuỗi truy vấn tuy nhiên tôi cảm thấy điều này có thể mở để lạm dụng như là bảng thành viên tùy chỉnh mà tôi đang làm việc với việc sử dụng ints intead của guid như trường id.
Tôi nghĩ rằng tôi cần tạo bảng tùy chỉnh chứa id duy nhất (dài) cùng với id thành viên được điền mỗi khi người dùng yêu cầu khôi phục mật khẩu. Id này sau đó sẽ được chuyển như một phần của chuỗi truy vấn trong liên kết đến trang đặt lại mật khẩu. Khi người dùng nhấp vào liên kết, trang sẽ tra cứu id trong bảng tùy chỉnh và nhận id thành viên từ đó cho phép người dùng thay đổi mật khẩu đối với thành viên đó.
Điều này có vẻ giống như một phương pháp hợp lệ hay không; nó có quá mức không? Bất kỳ đề xuất nào khác sẽ được đánh giá cao.Làm thế nào để thực hiện một liên kết khôi phục mật khẩu trong ASP.NET?

Trả lời

3

Đó là cách tôi sẽ xử lý. Nhưng đừng quên xóa hàng khỏi cơ sở dữ liệu khi bạn hoàn thành và thực hiện một số loại kiểm soát lũ lụt. Tôi biết có tấn (theo nghĩa đen) của các kết hợp cho guids nhưng chạy một kiểm tra IP đơn giản so với bao nhiêu lần trong 5 phút cuối cùng và chặn chúng sau khi x số lần thử có thể giúp tăng tính bảo mật của việc đặt lại. Điều này sẽ trở nên quan trọng hơn, cơ sở người dùng của bạn càng lớn và tần suất họ quên mật khẩu của họ.

2

Âm thanh hoàn toàn hữu ích. Đề xuất duy nhất của tôi là sử dụng giá trị được tính thay vì ID ngẫu nhiên cho liên kết email. Có lẽ phiên bản băm của tên người dùng của người đó? Điều này hoàn toàn là do thái độ khinh thị của tôi cho các số ngẫu nhiên. :)

Các vấn đề liên quan