我需要爲我的用戶製作激活碼。當用戶註冊時,我的PHP腳本會向用戶發送電子郵件,我不知道如何實現激活碼或激活鏈接。我不知道這個電子郵件中的激活碼如何使
1
A
回答
11
邏輯這是一個四個步驟:
- 創建激活碼
- 存儲在數據庫中
- 電子郵件的代碼給用戶一個鏈接到您的驗證腳本
- 檢查用戶在驗證腳本中輸入的代碼與存儲在數據庫中的值之間的關係。
示例實現,請參閱:
http://www.learnphponline.com/scripts/email-activation-for-php-forms
1
我沒有做這件事,但我本來以爲這將是沿着線:
- 當用戶註冊生成激活碼,並將其與用戶ID相關聯存儲。
- 有一個驗證代碼的頁面。這將查找URL中給出的代碼(或讓用戶在頁面上的一個字段中手動輸入),並查看它是否與用戶關聯的代碼(必須登錄才能看到此頁面)
- 生成一個URL,它會轉到上面的頁面並在url中提供代碼。
- 插入電子郵件中的網址,並在登記時向用戶發送
8
- 創建一個隨機字符串
$user_rand
; - 店在
users
表中的隨機字符串中activation_secret
欄,設置active
列0 - 哈希隨機字符串併發送電子郵件的電子郵件地址提供的用戶,幷包括一個鏈接到您激活頁面,包括散列作爲參數。例如
http://host.com/activate.php?activation_code=sfer3423ste&username=john
- 在
activatate.php
提取物username
和activation code
(這是你發送哈希) - 查詢
users
表,其中有active=0
和user=john,
在activation_secrete
- 哈希
activation_secrete
返回值和activation code
比較哈希記錄如果它們匹配,則應該驗證用戶(如果不是,則將active
列設置爲1),通知用戶激活碼不被識別。
您可以在此基礎上進行構建,並使其健壯並添加異常處理。例如。您還可以設置激活分泌等的壽命。
+0
很好放!我也給+1 +1 – Drewdin 2011-05-17 19:06:04
+4
如果它是一個隨機生成的字符串,爲什麼它必須被哈希? – 2012-06-15 09:55:35
0
或者你可以簡單地使用CakeDC's users plugin並避免所有的麻煩。
0
相關問題
- 1. 如何通過電子郵件發送激活碼?在asp.net mvc2
- 2. CakePHP的電子郵件激活
- 3. 發送激活電子郵件 - Django
- 4. 用activate.php激活電子郵件
- 5. Rails重發電子郵件激活
- 6. 編輯WordPress激活電子郵件
- 7. 電子郵件激活問題
- 8. Rails 3和AuthLogic電子郵件激活
- 9. 如何發送企業激活電子郵件?使用EnableBlackBerryUserDispatcherAttributes?
- 10. 激活流星用戶而不發送激活電子郵件
- 11. 取消激活並激活電子郵件表格
- 12. 如何禁用激活電子郵件和自動激活博客
- 13. 在電子郵件激活時強制更改密碼
- 14. PHP電子郵件激活 - 如何避免濫用者?
- 15. 我不明白電子郵件激活如何工作
- 16. 使用php電子郵件激活帳戶
- 17. 在Django admin中激活用戶時發送電子郵件
- 18. 在激活電子郵件中溝通用戶名
- 19. 如何在電子郵件激活鏈接中傳遞我的值?
- 20. 如何修改Open edX Platform中的激活電子郵件內容?
- 21. 從restful_authentication插件刪除電子郵件激活
- 22. 發送用戶激活電子郵件的新帳戶
- 23. 更好的實現電子郵件激活鏈接
- 24. 電子郵件激活腳本的問題
- 25. 。中文 - 不發送激活郵件對於某些電子郵件服務
- 26. 如何在jmeter中執行負載測試時繞過電子郵件激活
- 27. 如何在django-registration應用程序中禁用電子郵件激活?
- 28. 爲什麼電子郵件組件不會向gmail發送激活碼?
- 29. PHP郵件()激活
- 30. 如何發送自動電子郵件給沒有激活帳戶的成員
您是否特別感興趣的是如何使用CakePHP框架完成此任務,或者只是一般? – generalopinion 2011-05-17 19:57:56