php - session_destroy() 是否与登录失败尝试有关?
问题描述
我正在尝试创建一个2FA 电子邮件登录页面,但我对使用$_SESSION
.
该过程按以下顺序包括这些步骤:
- 确保
$_SESSION['isLoggedIn']
未设置 (参见步骤 3) - 验证是否与存储在数据库
$_POST['username'| 'password']
中的值相同 - 在这种情况下如果用户提交的密码是正确的,请设置
$_SESSION['isLoggedIn'] = false
(因此尝试登录的用户无法在同一页面上重定向) - 重定向到生成令牌并将其发送到用户电子邮件地址的令牌检查页面
- 检查标记是否是完全相同的值
- 如果正确,请设置
$_SESSION['isLoggedIn'] = true
- 如果没有,打电话
session_destroy()
?
- 如果正确,请设置
- 在出现错误时将用户重定向到初始表单
这个案子有没有更好的解决方案?
提前感谢您的时间,
解决方案
如果您在会话之前没有在页面中设置其他值,这可能是一个有效的做法。但请记住:会话将完全停止,因此您之前设置的其他值将被删除
推荐阅读
- docker - 如何停止和重新启动运行 Docker 容器的 Compute Engine 虚拟机
- swift4 - GCD 过度使用到底是什么,它是否危险
- ios - 如何检测音量上下是否被按下
- python - Boto3 访问 S3 存储桶时访问令牌无效
- ios - 代码点火器 - 无法连接:0 发送 ios 通知时
- mysql - 无法在 phpmyadmin - mysql 中添加外键约束
- regex - Regexp_like 与在线正则表达式验证器 - 不同的结果
- swift - 在 indexPath.row 的数组中快速打印元素
- c# - 如何在 Unity 中使用 C# 生成随机浮点数(Unity 拒绝大多数其他建议的答案)?
- react-native - 更新坐标数组时不呈现多条折线