使用MySQL和会话ID登录

时间:2018-02-12 21:53:14

标签: php mysql session login

我读了很多关于使用MySQL和Sessions生成LogIn的最后几天。我想知道,如果是安全的,我的方法是正确的。

  • 使用session_start()
  • 开始新会话
  • 使用电子邮件和密码登录表单
  • 因SQL注入而使用mysqli_real_escape_string转发电子邮件和密码
  • 检查数据库中是否存在电子邮件和密码。使用password_verify()验证密码(之前使用password_hash保存的密码)
  • 如果存在$SESSION['login'] = 1;并链接到主页

到目前为止,我理解逻辑。对安全有任何异议吗?

这是我的问题。现在我想检查每个站点是否有用户。据我了解,正确session_start()创建了一个SESSION-ID和一个名为“PHPSESSID”的COOKIE。要检查用户是否有效,我会这样做:

    session_start();
    $session_id = session_id();
    if ($_SESSION['login'] == 1 && $_SESSION[$session_id] == $_COOKIE['PHPSESSID']) {
       echo "YES";
    } else {
       echo "NO";
    }

这是正确的还是有意义的,或者我正在以错误的方式思考并需要编辑我的逻辑。

感谢您的帮助和建议。 奥利弗

0 个答案:

没有答案