首页 > 解决方案 > session_destroy() 是否与登录失败尝试有关?

问题描述

我正在尝试创建一个2FA 电子邮件登录页面,但我对使用$_SESSION.

该过程按以下顺序包括这些步骤:

  1. 确保$_SESSION['isLoggedIn'] 未设置 (参见步骤 3)
  2. 验证是否与存储在数据库$_POST['username'| 'password']中的值相同
  3. 在这种情况下如果用户提交的密码是正确的,请设置$_SESSION['isLoggedIn'] = false(因此尝试登录的用户无法在同一页面上重定向)
  4. 重定向到生成令牌并将其发送到用户电子邮件地址的令牌检查页面
  5. 检查标记是否是完全相同的值
    • 如果正确,请设置$_SESSION['isLoggedIn'] = true
    • 如果没有,打电话session_destroy()
  6. 在出现错误时将用户重定向到初始表单

这个案子有没有更好的解决方案?

提前感谢您的时间,

标签: phpauthentication

解决方案


如果您在会话之前没有在页面中设置其他值,这可能是一个有效的做法。但请记住:会话将完全停止,因此您之前设置的其他值将被删除


推荐阅读