私はコードを持っています:
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 セッション ID、およびユーザー名を使用して、ユーザーが本物かどうかを確認します。これは、SQL インジェクションから保護されていると仮定すると、セキュリティ リスクが比較的少ないということですよね?
これは複雑な問題に対する非常に単純な解決策のように思えるので、ここに尋ねに来ました。私が行ったことのあるすべてのドキュメントと Web サイトは、ユーザーがログインしているかどうかを確認するための、はるかに複雑で紛らわしく、時には安全でない方法を実装していました。
これは安全ですか?