我实际上正在使用PHP创建一个Web应用程序,并寻求帮助验证用户。
与某些网站一样,当您注册时,会向您发送一封带有确认链接的电子邮件。我如何在PHP中实现它?
我所知道的是,我必须使用PHP mail()
函数来发送电子邮件。
请帮忙。必要。谢谢。 :)
答案 0 :(得分:7)
帕特里克的答案是正确的,我想指出还有其他可能性!
您不必在数据库中创建和存储唯一标记。这是数据开销,只需要一次。
您还可以利用单向散列。
例如,向用户发送代码md5('my-secret-application-token'.$user_email_adress)
。
您可以以相同的方式验证,但不需要存储密码。
答案 1 :(得分:3)
这是一个非常广泛的问题,所以我们只能给出一个广泛的答案,但这样做的一般技术是
答案 2 :(得分:1)
与CSRF保护一样,您可以生成唯一令牌。
$token = md5(uniqid(rand(), TRUE));
您将该值存储在该电子邮件的会话中,当用户点击电子邮件中的链接时(您通过query-string传递令牌),您可以比较这两个值。
为了使其更安全,您可以像CSRF一样添加时间限制。