我想從django應用程序創建django用戶,然後通過向他們發送帶有驗證鏈接的電子郵件來確認用戶創建。Django。通過郵件確認用戶創建
我怎樣才能安全地生成用戶細節此鏈接(我不想生成隨機值,並將其存儲在數據庫,我不希望使用任何外部模塊,如Pinax本)
我想從django應用程序創建django用戶,然後通過向他們發送帶有驗證鏈接的電子郵件來確認用戶創建。Django。通過郵件確認用戶創建
我怎樣才能安全地生成用戶細節此鏈接(我不想生成隨機值,並將其存儲在數據庫,我不希望使用任何外部模塊,如Pinax本)
你會想去搶Django的註冊和叫它做:http://bitbucket.org/ubernostrum/django-registration/wiki/Home
這是一個簡單的應用程序,它 提供靈活的用戶註冊 基於Django的項目。默認設置 實現一個相當普遍的 工作流程:
- 用戶註冊賬戶。
- 用戶收到一封電子郵件,其中包含有關激活帳戶的說明。
- 用戶激活並開始使用該網站。
Google文檔如何整合並使用它:http://bitbucket.org/ubernostrum/django-registration/src/tip/docs/overview.txt
它管理REG鍵,超時時間和所有的處理激活帳戶。
我已經使用了這個幾次輕微的mods,並且使用gmail帳戶進行測試也非常容易。
在應用程序添加到您的settings.py與Gmail帳戶進行測試:
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'YOURPASSWORD'
EMAIL_PORT = 587
此外,Django的配置文件是一個偉大的除了這個Django的註冊套件:http://bitbucket.org/ubernostrum/django-profiles/wiki/Home
你可以這樣做:
from django.utils.hashcompat import sha_constructor
salt = "secret_salt"
confirmation_key = sha_constructor(salt + email_address).hexdigest()
然後發送confirmation_key作爲驗證鏈接中查詢字符串的一部分。我不確定這將是多麼安全。
爲什麼你想要沒有db的話呢?看看django-email-confirmation爲標準(使用數據庫)的方式來解決這個問題。