![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 陳威廷 ![]()
![]() |
1樓 |
為什麼不是驗證過後
讓使用者設定新密碼?
本篇文章回覆於2017-09-11 08:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
最有價值解答
topcat ![]() ![]() |
小喵做的話,會用以下的步驟
1.在資料庫中,使用者資料表,新增兩個欄位: EMail驗證碼(ChkEMailCode),EMail驗證碼到期時間(ChkEMailCodeTimeout) 2.當使用者點選忘記密碼時 2a.使用者輸入EMail 2b.透過使用者輸入的EMail,找到該使用者這一筆資料 2c.修改EMail驗證碼(例如:GUID),並修改驗證碼有效時間(例如:目前時間+30分鐘) 2d.發送EMail,裡面附上一個『修改密碼』的連結,此連結帶有2c的「修改EMail驗證碼」,並連結到撰寫修改密碼的頁面 (例如:https://www.blueshop.com.tw/ChangPassword.aspx?ChkEMailCode=72B2DC05-1D51-494B-9E9E-D4F8B91DEF9E) 3.ChangePassword.aspx驗證2d傳入的ChkEMailCode,找到該筆資料,取得會員代號,並開啟修改密碼的話面 4.使用者修改密碼時,將ChkEMailCode,ChkEMailCodeTimeout清空,並維護新帳號 大概是這樣的過程 另外,題外話 a.請不要用ASP當作是ASP.NET的簡稱,這兩種是不一樣的東西 b.>>如果正確的話,SQL就修改該會員的密碼為預設值000000 ? 小喵不建議您這樣做,因為,這可能造成系統中一些帳號密碼是000000,很容易被猜中,駭入你的系統 ^_^
本篇文章回覆於2017-09-11 09:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
補充#2
2a.使用者輸入EMail 2b.透過使用者輸入的EMail,找到該使用者這一筆資料 這個先決條件是,您的系統,每個帳號的EMail必須是不同且唯一的 ^_^
本篇文章回覆於2017-09-11 09:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |