我有一個簡單的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. 通過電子郵件臨時密碼重置密碼
- 4. 郵件通過電子郵件發送給用戶50,000-100,000
- 5. 密碼恢復,而不通過電子郵件發送密碼
- 6. 註冊時通過電子郵件發送密碼
- 7. ASP.NET通過電子郵件發送給多個電子郵件
- 8. 保存數據並用密碼和電子郵件發送給用戶
- 9. 通過電子郵件發送給用戶使用cron
- 10. 使用安全密碼通過Powershell發送電子郵件
- 11. 如何使用API通過電子郵件向SalesForce用戶發送臨時密碼?
- 12. 流星重置密碼不發送電子郵件給用戶密碼重置
- 13. 如何使PHP代碼通過電子郵件發送給郵件用戶名和密碼在mysql數據庫
- 14. WAP,CreateUserWizard控件,通過電子郵件發送密碼
- 15. 發送電子郵件給用戶
- 16. 當更新密碼時更改發送給用戶的電子郵件
- 17. 保存電話號碼並通過電子郵件發送給聯繫人
- 18. 如果用戶忘記密碼,通過郵件發送密碼
- 19. 解壓密碼保護的ZIP文件並通過電子郵件發送它的內容使用Powershell
- 20. 如何通過電子郵件發送密碼?
- 21. 未通過Gmail發送電子郵件 - 未接受用戶名和密碼
- 22. 發送用戶密碼到他的電子郵件...使用php
- 23. 無法通過ASP.NET發送電子郵件給客戶端
- 24. 發送忘記密碼電子郵件
- 25. 使用密碼加密文件以通過電子郵件發送python
- 26. 發送電子郵件時,子域名是否保護域名?
- 27. 電子郵件發送用戶名密碼的驗證
- 28. 將電子郵件發送到用戶的密碼重置
- 29. 在asp.net發送電子郵件發送密碼而不是電子郵件
- 30. 通過CRM 2011的普通用戶發送電子郵件時發生電子郵件路由器錯誤
它是您所關心的電子郵件的安全性嗎? – JasonS 2009-10-26 17:40:43