91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php注冊時候郵箱驗證的原理

發布時間:2020-02-14 11:09:27 來源:網絡 閱讀:1075 作者:yang名揚 欄目:web開發

其實原理很簡單,你說自動生成URL那一步不會,首先URL分為兩部分:
第一部分是一個驗證地址并且帶一個標識用戶id的參數,比如:http://www.xxx.com/active.php?uid=1
第二部分其實就是一個用來驗證的字符串,比如:authcode=asdad1f323ff43f
合起來就是http://www.xxx.com/active.php?uid=1&authcode=asdad1f323ff43f

第一部分是你來決定的,active.php就是你寫的那個做驗證腳本,所以你可以知道地址了?
第二部分不就是個隨機生成的字符串嗎?你可以用:md5(自己的域名+時間戳+驗證的用戶名)這個公式來生成這個串。當然你可以自己定義如何組合這個串,只要保證他們不是有規律讓人一下猜到的,也別重復的就可以。
很簡單是嗎?


至于何時生成,何時驗證,你可以這樣設計:
你可以在用戶表中,加兩個字段:1 (bool isActive)用戶是否已激活,默認為false。2 (string authcode)臨時激活碼。
當用戶注冊后,或點擊激活按鈕后,就執行你的一個腳本:
1 生成激活碼,就是我上面說的方法。
2 將這個激活碼,存儲這個激活碼到用戶表的authcode字段。
3 將你的完整激活地址,用郵件發送到用戶的郵箱
4 你的那個腳本,在接收到請求時,將兩個參數取下來去用戶表中搜索uid=1的用戶的authcode是否與數據庫中的相等,如果相等,驗證通過,并清空update isActive字段為true,authcode字段更新為空。


就是這樣,當然,為了避免生成了重復的驗證碼和別人的猜解,你可以給authcode設置超時時間。這個有很多種做法,你可以給用戶表再加個字段是一個時間戳,用當前時間戳+有效的時間戳期限,比如time()+3600,這個就是一個小時的超時時間,驗證時,你可以同時再比對下是否在這個時間戳之內。這種東西,你也可以放在緩存或內存中。這樣會更好。


你可能還需要做一個開關,也許你今天想讓新注冊的用戶都需要郵件激活,而明天也許你又不想了。用來控制,是否需要郵件激活。首先判斷這個值為true的話,所有注冊用戶的isActive都為false,否則都為true。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江安县| 张家口市| 台东市| 桂林市| 墨玉县| 乌拉特后旗| 黄陵县| 德阳市| 乳山市| 特克斯县| 泾川县| 红安县| 株洲市| 扎赉特旗| 绥化市| 东丰县| 特克斯县| 宜春市| 基隆市| 平果县| 长治县| 延津县| 海丰县| 香港| 从化市| 乐亭县| 保靖县| 开远市| 元朗区| 建昌县| 上林县| 舟山市| 永川市| 九龙坡区| 广河县| 东丽区| 旬阳县| 元谋县| 砀山县| 宜兴市| 屯昌县|