我想从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为标准(使用数据库)的方式来解决这个问题。