Я пытаюсь найти что-то, что нашел в Интернете (крайне плохо знакомый с этим), и ничего из этого не работает.Это какой-то случайный научный проект, о котором я решил узнать больше, но я застрял во второй части «процедур».https://www.sciencebuddies.org/science-fair-projects/project-ideas/Cyber_p008/cybersecurity/sql-injection#procedure
Я смотрел видео, но оно состоит только из идентификатора пользователя, а не имени пользователя и пароля.ПРИМЕЧАНИЕ. Только код, относящийся к login.php, вызывает проблемы.
<?php
include("global.php");
include("db.php");
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password are sent in the form
$username = $_POST['username'];
$password = $_POST['password'];
// Check if the username and password exist in the database
$sql = "SELECT username FROM users WHERE username = '$username' AND password = '$password'";
$stmt = msqli_stmt_init($db);
if (!mysqli_stmt_prepare($stmt, $sql)) {
echo "SQL Statement Failed";
} else {
mysqli_stmt_bind_param($stmt, "ss", $username, $password );
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$count = mysqli_num_rows($result);}
// If username and password matched then there is one row in the result
if ($count != 0) {
$_SESSION['login_user'] = strtolower($username);
header("location: search.php");
}
else {
$error = "Your Username or Password is invalid";
}
}?>
Он должен был предотвратить базовую атаку "или" = ", но эторешил не работать полностью.