PHP / Mail / MySQL:注册的电子邮件确认
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP / Mail / MySQL:注册的电子邮件确认,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2314字,纯文字阅读大概需要4分钟。
内容图文
![PHP / Mail / MySQL:注册的电子邮件确认](/upload/InfoBanner/zyjiaocheng/909/2e6fb921ba1c4bf7821897211f9dac9e.jpg)
我不熟悉PHP / MySQL和电子邮件.而且我很确定这个问题已经在某个地方被问过了,但我找不到了.如果这令人不安,我很抱歉,并提前感谢你!
在将用户添加到数据库之前,是否可以做一些用户必须先点击电子邮件中的链接?
而且你知道,对于某些网站,他们为每个电子邮件验证都有一个独特的网址(图中红色显示)?他们如何为每封电子邮件创建独特的网页?
非常感谢你的关注!如果可能的话,我更喜欢没有直接的脚本我可以复制和粘贴,因为我想找出自己:P但请给我一些提示,因为我完全迷失了.
如果有什么不清楚的地方,请告诉我,我会尽力澄清它!
解决方法:
注册过程
>用户在线填写表格,其中包含电子邮件和密码等基本信息,并将表格提交至register.php
> register.php将用户信息添加到临时位置,例如pending_users表,其中包含用户提交的所有字段以及到期时间和activation_code字段.此代码可以是任意随机,无法猜测的值.例如:hash(‘sha1’,mt_rand(10000,99999).md_rand(10000,99999)).只是不做任何可预测的事情,例如哈希当前时间或用户名
> register.php向用户发送一封电子邮件,其中包含一个URL,该URL将链接到activate.php并包含激活码.例如:example.com/activate.php?code = a2ef24 …电子邮件还应通知用户过期(1至12小时有效期对我来说似乎没问题)
>当用户单击该链接时,她会触发一个GET请求来激活.php.在这样做时,用户证明了电子邮件地址的所有权
> activate.php从请求参数中获取代码,例如:$code = $_ GET [‘code’].使用该代码,脚本在pending_users表中查询与该代码匹配的记录.
>如果找到代码,请在继续之前检查它是否已过期.过期会阻止其他人在很久以后进入用户的帐户完成注册.
>如果代码有效,请从匹配记录中捕获用户详细信息,并从pending_users表中删除该记录.
>在常规用户表中写入匹配的记录.在此之前,用户无法登录,因为登录脚本仅检查users表,并忽略pending_users表.
>注册完成.
安全说明I:
为了保护用户,请勿以明文形式存储密码.当您从注册表中收到它时(例如:$_POST [‘pwd’],请执行以下操作:
$pwd = $_POST['pwd'];
//first validate; it should meet minimum requirements
$pwd_hash = password_hash($pwd, PASSWORD_DEFAULT); // <- the hash gets stored
稍后,要验证密码,请执行以下操作:
password_verify($cleartext_pwd, $pwd_hash);
如果密码正确,它将返回true;否则是假的.
安全说明二:
为了保护您的安全,请不要直接在数据库查询中插入用户提供的值.这意味着从外部到达的任何值.不仅仅是用户名,电子邮件,密码……还有您从用户那里获得的值,例如上面的activation_code或cookie值或标题(例如User-Agent).相反,学习使用预准备语句.这将保护您免受SQL注入.
内容总结
以上是互联网集市为您收集整理的PHP / Mail / MySQL:注册的电子邮件确认全部内容,希望文章能够帮你解决PHP / Mail / MySQL:注册的电子邮件确认所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。