我有代码:
if ($usernamelogin == $dbusername && $passwordlogin == $dbpassword)
{
$hash = md5(time());
mysqli_query($connection, "UPDATE users SET sessionid='$hash' WHERE username='$usernamelogin' AND password='$passwordlogin'");
$_SESSION['id'] = $hash;
$_SESSION['un'] = $usernamelogin;
}
else
{
echo ('Wrong username or password.');
}
然后,我使用 $sessionid、SQL sessionid 和用户名来验证用户是否真实。这意味着,假设我有针对 SQL 注入的保护,那么安全风险相对较少,对吧?
我是来问的,因为这似乎是一个复杂问题的过于简单的解决方案。我访问过的所有文档和网站都实施了更为复杂、令人困惑、有时甚至不安全的验证用户是否登录的方法。
这安全吗?