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
Đó 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ọ.
Â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 nội dung này: Best Practices for your "Forgot Password" feature.
Nó sẽ khá rõ ràng.
EDIT: Đã cập nhật liên kết.
Có người đã đủ đẹp để làm điều này trong CodeProject đã: http://www.codeproject.com/KB/aspnet/Password_Recovery.aspx
- 1. Khôi phục mật khẩu bằng mật khẩu sha1 băm
- 2. Truy cập khôi phục mật khẩu mdb
- 3. Đặt lại trạng thái khôi phục mật khẩu
- 4. Khôi phục mật khẩu đã lưu trong Filezilla
- 5. Làm thế nào để thực hiện đúng "Xác nhận mật khẩu" trong ASP.NET MVC 3?
- 6. Cách khôi phục hoặc đặt lại mật khẩu gói SSIS?
- 7. Đăng nhập quản trị ColdFusion và khôi phục mật khẩu
- 8. Cách khôi phục hoặc thay đổi mật khẩu Oracle sysdba
- 9. Cách khôi phục mật khẩu quản trị cho SONAR
- 10. Làm cách nào để thực hiện đặt lại mật khẩu với ASP.NET Identity cho ASP.NET MVC 5.0?
- 11. Rails Devise: làm cách nào để đặt biểu mẫu đăng nhập và khôi phục mật khẩu trên cùng một trang?
- 12. asp.net 3.5 kiểm soát phục hồi mật khẩu trong một ứng dụng mvc?
- 13. Hướng dẫn triển khai khôi phục mật khẩu bảo mật mùa xuân bằng URL động được gửi tới email
- 14. Làm cách nào để phát hiện kết nối JMS bị hỏng/khôi phục trong Apache Camel?
- 15. Làm thế nào để thực hiện một menu bí mật
- 16. Cách liên kết, hủy liên kết và khôi phục (nhấp) các sự kiện trong JQuery
- 17. Làm thế nào để chuyển đổi mật khẩu văn bản để băm mật khẩu trong wordpress
- 18. cách khôi phục mật khẩu gốc trong SVN Edge của Collabnet?
- 19. Khôi phục cam kết git trước đó?
- 20. Làm thế nào để mã hóa mật khẩu
- 21. làm thế nào để khôi phục lại mã đã lưu cuối cùng trong nhật thực?
- 22. Khôi phục kết nối Hibernate
- 23. Làm thế nào để tự thay đổi mật khẩu trong thành viên asp.net?
- 24. Làm cách nào để khôi phục một giao dịch đã được cam kết?
- 25. Magento: Liên kết đặt lại mật khẩu không hoạt động
- 26. Khôi phục mật khẩu SVN từ bộ nhớ cache cục bộ
- 27. Đặt lại mật khẩu ASP.NET - vấn đề bảo mật?
- 28. Làm thế nào để thực hiện TDD trong ASP.NET WebForms
- 29. Làm cách nào để tôi chỉ thực hiện mật khẩu với heroku chứ không phải github?
- 30. Làm cách nào để triển khai cam kết/khôi phục cho MySQL trong PHP?
liên kết này bị hỏng. –
Đã cập nhật liên kết ... – jinsungy