-5
私は自分のウェブサイトのログインに取り組んでいます。ログインすると、そのユーザーが既にデータベースに存在するかどうかをチェックしません。あなたが登録していなくても誰でもサインインすることができます。未登録のユーザーはログインできます(PHP)
これはログイン用のコードです。
<?php
//database details
$servername = "localhost";
$username = "myname";
$password = "******";
$dbname = "mydb";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
session_start();
if(isset($_POST['email']))
{
$email = $_POST ['email'];
$password =$_POST ['password'];
$query = "SELECT * FROM Users WHERE Email='$email' AND Password='$password'";
$result = mysqli_query($conn, $query);
if($result==1)
{
header('Location: profile.php');
exit();
}
else
{
header('Location: failedlogin.html');
exit();
}
}
?>
1. SQLインジェクション。 2.平文のパスワードをDBに保存しないでください! 3. '$ result'は行数ではなく、' true/false'を返します。 – panther
mysqli_query()は成功するとtrueを返します。クエリにエラーがないことを意味します..また、このコードがライブサーバーにないことを願っています。 SQLインジェクションが起こるのを待っています – Akintunde007
また、パスワードをそのまま保存しないでください。 'password_hash'を使うことができます – Eddie