有朋友(註冊會員)告訴我,她忘記密碼了。對哦,要做乙個「找回密碼」的系統才行。
又找了一下資料,看到一篇不錯的文章,介紹了「選擇何種方式幫助使用者找回密碼」,他的結論是:
1〉不採取密碼答案和問題
2〉用郵件找回密碼
3〉使用者自己輸入註冊郵件
4〉傳送到郵件中的是啟用位址而非密碼
5〉註冊時告訴使用者這個密碼將來要用來找回密碼,提供測試郵件帳戶能否收到系統的入口。
6〉如果您將遺忘密碼保護資訊,可以填寫申訴表來找回您的密碼。
其中第六點是我自己寫的,我覺得應該需要。如果按照這個思路,首先使用者註冊的時候要提醒,而且判斷好email格式,至於「提供測試郵件帳戶能否收到系統的入口」就先不做了,偷懶一下。在「找回密碼」的頁面使用者先輸入使用者名稱,再輸入email,都正確了就傳送郵件。至於「啟用位址」我是用了乙個50位的隨機數,這個隨機數會儲存到會員表的乙個欄位中。當使用者開啟啟用位址,來到「重設密碼」頁面,首先頁面檢測這個隨機數是不是在表中,有的話就可以重設密碼。這個應該也先輸入使用者名稱一起判斷比較好啊,又懶一把。
思路有了,編寫程式就不難了,就是發email弄了我很久。本來伺服器上有乙個郵局系統可以用,但問題是設來設去也搞不成功,鬱悶過後,只好用了163的帳號來發。但又發現新建的帳號163關了smtp,再鬱悶一下,只好用自己的郵箱來頂一下了。**如下:
//////傳送郵件
///static
bool
sendemailforgetpass(
string
name,
string
email,
string
random)
catch
(exception e)
}終於完成了這個「取回密碼」系統。叫我朋友測試,通過!
我來做百科 第三天
進入第三天,今天主要做詞條部分,先做詞條的新增和顯示吧。顯示應該很容易吧。但這時又遇到一樣的問題,由於是從兩個表來獲取資訊,那把兩個表獲取的資訊合併是哪一層的責任呢?第一排除的應該是dal,既然新增邏輯都給了bll,那這個就更不需要他了。如果交給bll的話又要做乙個詞條加內容的模型,偷點懶,放到pl...
我來做百科 第四天
休息了一天,上次已經把幾個頁面的功能做出來了,現在就輪到頁面了。雖然我對頁面不太熟悉,但也用div css做過幾個頁面,相信做簡單的頁面是沒什麼問題的。先想想主色是什麼,我喜歡藍色,而且google和baidu大部分也是白配藍,就用白配藍吧。logo嘛,用字拼出來就是了,畢竟美術我不懂。主題就叫 順...
我來做百科 第三天
進入第三天,今天主要做詞條部分,先做詞條的新增和顯示吧。顯示應該很容易吧。但這時又遇到一樣的問題,由於是從兩個表來獲取資訊,那把兩個表獲取的資訊合併是哪一層的責任呢?第一排除的應該是dal,既然新增邏輯都給了bll,那這個就更不需要他了。如果交給bll的話又要做乙個詞條加內容的模型,偷點懶,放到pl...