用户在订阅我的网站之后,我的网站会生成一封电子邮件确认并发送给他们。在邮件内容中,我需要包含激活密钥,类似于:
www.domain.com/activate.php?key=$generatedKey
如何生成密钥?使用sha1($email)吗?
生成密钥后,我将其存储在数据库中,以便用户单击链接时可以通过数据库进行验证。我是新手,请指教。我需要一个电子邮件确认脚本。
用户在订阅我的网站之后,我的网站会生成一封电子邮件确认并发送给他们。在邮件内容中,我需要包含激活密钥,类似于:
www.domain.com/activate.php?key=$generatedKey
如何生成密钥?使用sha1($email)吗?
生成密钥后,我将其存储在数据库中,以便用户单击链接时可以通过数据库进行验证。我是新手,请指教。我需要一个电子邮件确认脚本。
个人而言,我使用一些组合方式,比如:
$generatedKey = sha1(mt_rand(10000,99999).time().$email);
发生碰撞的概率很小,但我建议在发送之前先检查你的数据库(使用唯一约束是一种简单的方式)。
$guid=md5(uniqid(mt_rand(), true));
$code = md5($_POST['username'] . microtime());
这样就可以了,不过你可以加点盐来改善它,例如:
$key = sha1($email . 'doYouLikeSauce');
另一种方法是生成一个随机密码并通过电子邮件发送。