Я читал о SQL-инъекции, поэтому я пробовал его с моим сайтом и, конечно же, работал. Я знаю, что решение является параметризованным запросом, и я также знаю, что есть много примеров но никто из них не упоминает ту часть, где мы подключаемся к базе данных. Так вот часть моего логина страницы PHP код:Параметрированные запросы в PHP с подключением MySQL
$userName = $_POST["username"];
$userPass = $_POST["password"];
$query = "SELECT * FROM users WHERE username = '$userName' AND password = '$userPass'";
$result = mysqli_query($dbc, $query); //$dbc is for MySQL connection: $dbc = @mysqli_connect($dbhost, $dbuser, $dbpass, $db)
$row = mysqli_fetch_array($result);
if(!$row){
echo "No existing user or wrong password.";
}
Я искал решение в течение длительного времени, но я просто не мог понять, как я мог заставить его работать в параметризованном образом. Не могли бы вы помочь мне, как я должен завершить свой код, чтобы предотвратить SQL-инъекцию?
Это подробно объясняется здесь: http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – Guido
Посмотрите, как сделать инструкции подготовки на PHP, которые предотвратит внедрение sql: http://www.w3schools.com/php/php_mysql_prepared_statements.asp – Erick