Re: [問題] 認證信系統的原理?
如果你要問過程,大概會像這樣:
使用者填好帳號註冊申請表,並送出資料...
--> 儲存申請資料到資料庫 或在 系統上建立使用者帳號。
(順便標示或設定帳號為"停用")
--> 產生Email驗證字串,與已建立的停用帳號關聯,儲存。
--> 發送包含驗證網址及驗證字串的信件內容到申請資料中的Email。
(像http://localhost/Member/CompleteEmailAuth.aspx?params=cGVS5jaGVvbQ==)
--> 使用者收到信並點擊了信文中的Url,CompleteEmailAuth.aspx會收到Get Request。
處理Get Request Parameter,並將關聯的帳號標示或設定為啟用。
至於驗證字串的產生,可以用一些有意義的值進行加密(譬如說帳號名稱+時間戳記),
這樣程式就可以在收到驗證字串後,進行嘗試解密並驗證其中的值是否合法。
如果你要問如何發信,那麼你會使用到System.Net與System.Net.Mail Namespace下的
類別。
引入System.Net是為了使用NetworkCredential類別,如果Smtp Server需要驗證才能使
用的話。
其他的則是System.Net.Mail的類別,依需求大概會用到下列類別:
SmtpClient
MailAddress
MailMessage
Attachment
通常上述類別的使用方式查閱MSDN都有範例,比較需要注意的是有些Smtp Server需要
帳號驗證才願意送信。這時候,SmtpClient需要設定Credentials,如下範例:
SmtpClient smtpClient = new SmtpClient( "smtpserver.localdomain" );
smtpClient.Credentials = new NetworkCredential( "user_id", "user_password" );
※ 引述《kiki1503 (琦琦壹伍零參)》之銘言:
: 現在不少網站都有認證信系統
: 信上會給一個網站字串連結
: 點了之後會傳入後端代表認證成功
: 這部份我大概了解是依照查詢字串拆解
: 然後讀入網頁
: 再連上資料庫更動認證欄
: 可是..
: 我比較想知道前半部
: 使用者註冊後
: 系統如何發信啊@@?
: 我的網站是IIS6+asp.net3.5
: 很少有書介紹這一部份
: (至少我買的都沒有)
: 我想知道原理..到底信從哪邊來的?
--
對於已經無法擁有的
唯一能做的是
不要忘記
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.224.218.75
推
04/16 08:57, , 1F
04/16 08:57, 1F
討論串 (同標題文章)