我有一個簡單的Web應用程序設置管理員可以創建用戶的位置。用戶不會自己創建。管理員所要做的就是輸入用戶名和電子郵件,並將臨時密碼發送給用戶以供他們登錄。這封電子郵件以純文本格式發送。如果用戶第一次登錄,他們需要更改密碼並輸入安全問題和答案。用戶顯然必須知道他們的臨時密碼才能第一次登錄,這是我知道通過電子郵件知道他們的唯一方法。另一種選擇是讓管理員呼叫用戶,並通過電話或親自告訴他們他們的臨時密碼,但這是不實際的。我怎麼能處理這樣的情況?保護通過電子郵件發送給用戶的臨時密碼?
回答
我通常使用基於後端的邀請記錄的臨時URL。基本上你可以創建一個邀請記錄,並根據一些信息(可能是用戶的電子郵件地址,時間戳和隨機值)生成散列。將散列存儲爲邀請記錄的一部分,然後將散列作爲參數發送給它們。
當他們點擊鏈接查找邀請並驗證其存在並且尚未使用時 - 然後允許他們設置密碼並使邀請無效。
它不需要發送任何密碼,如果你想要的話,你可以在你的邀請記錄上設置過期時間。
您的記錄是什麼意思? – Xaisoft 2009-10-26 17:27:04
通過邀請記錄我的意思是記錄邀請散列,用戶的電子郵件地址以及邀請的時間戳和/或到期時間信息的數據庫記錄 – paulthenerd 2009-10-26 18:22:50
您描述的場景非常普遍 - 通過電子郵件發送臨時密碼並要求在第一次登錄時更改該密碼。除非你對這個模型有特殊的問題,否則我沒有理由不使用它。有一個管理員調用用戶可能會變得複雜 - 我會不惜一切代價避免這種情況。
是的,如果你告訴他們必須這樣做,那麼管理員調用可能會使管理員關閉。我只是好奇,如果有什麼方法可以增加額外的安全級別,那麼我可以更確定一點,就是我通過電子郵件發送臨時密碼的人實際上正在更改其密碼。 – Xaisoft 2009-10-26 17:10:32
- 1. 通過電子郵件發送密碼給用戶
- 2. 通過電子郵件臨時密碼重置密碼
- 3. 郵件通過電子郵件發送給用戶50,000-100,000
- 4. 密碼恢復,而不通過電子郵件發送密碼
- 5. 註冊時通過電子郵件發送密碼
- 6. 通過電子郵件發送給用戶使用cron
- 7. 使用安全密碼通過Powershell發送電子郵件
- 8. 如何使PHP代碼通過電子郵件發送給郵件用戶名和密碼在mysql數據庫
- 9. 發送電子郵件給用戶
- 10. 當更新密碼時更改發送給用戶的電子郵件
- 11. 保存電話號碼並通過電子郵件發送給聯繫人
- 12. 未通過Gmail發送電子郵件 - 未接受用戶名和密碼
- 13. 無法通過ASP.NET發送電子郵件給客戶端
- 14. 發送忘記密碼電子郵件
- 15. 將電子郵件發送到用戶的密碼重置
- 16. 電子郵件發送用戶名密碼的驗證
- 17. 在asp.net發送電子郵件發送密碼而不是電子郵件
- 18. 通過CRM 2011的普通用戶發送電子郵件時發生電子郵件路由器錯誤
- 19. 通過電子郵件發送的navigator.userAgent
- 20. 通過電子郵件發送文件
- 21. 通過電子郵件Django密碼Resest
- 22. 通過C#通過Google Apps帳戶發送電子郵件
- 23. 如何通過電子郵件發送電子郵件地址
- 24. 忘記密碼:我如何發送電子郵件給用戶在DotNetNuke
- 25. 通過Javamail發送電子郵件
- 26. 回覆通過電子郵件發送
- 27. 通過VB6發送電子郵件
- 28. 通過Gmail發送電子郵件
- 29. 通過電子郵件發送Spark DataFrame
- 30. 通過Python發送電子郵件
它是您所關心的電子郵件的安全性嗎? – JasonS 2009-10-26 17:40:43