我读了很多关于使用MySQL和Sessions生成LogIn的最后几天。我想知道,如果是安全的,我的方法是正确的。
session_start()
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";
}
这是正确的还是有意义的,或者我正在以错误的方式思考并需要编辑我的逻辑。
感谢您的帮助和建议。 奥利弗