IS MySQLI «mySQLI_REAL_ESCAPE_STRING" Достаточное против атак SQL?
] ваш код пытается защитить от инъекций SQL с использованием "mySQLI_Real_escape_escape_String ()". Однако, как указано URI2X, эта мера неадекватна.
уязвимость к SQL Inception
"mysqli_real_escape_string ()" Только уходит определенные символы, оставив ваш запрос уязвимый в SQL инъекционные атаки. Например, следующий код все еще может быть уязвимым:
$email = mysqli_real_escape_string($db_con, $_POST['email']); $query = "SELECT * FROM users WHERE email = '" . $email . "'";
злоумышленник может ввести адрес электронной почты, например, «email'@example.com», чтобы использовать запрос, добавив дополнительные операторы SQL после сбежавшего ввода. Подготовленных утверждений
вместо "mysqli_real_escape_string ()", наиболее эффективный способ предотвращения инъекций SQL - это использование подготовленных утверждений. Подготовленные операторы Отдельные данные от строки запроса, предотвращая загрязнение данных. $ stmt-> bind_param ('ss', $ email, $ psw); $ email = mysqli_real_escape_string ($ db_con, $ _post ['email']); $ psw = mysqli_real_escape_string ($ db_con, $ _post ['psw']); $ stmt-> execute ();
строгого символов белого списка
$stmt = $db_con->prepare("INSERT INTO users (email, psw) VALUES (?, ?)"); $stmt->bind_param('ss', $email, $psw); $email = mysqli_real_escape_string($db_con, $_POST['email']); $psw = mysqli_real_escape_string($db_con, $_POST['psw']); $stmt->execute();в ситуациях, где подготовленные утверждения не осуществляются, реализация строгого белого символа может гарантировать безопасность. Это включает в себя фильтрацию ввода, чтобы убедиться, что он содержит только разрешенные символы.
Заключение
"mysqli_real_escape_string ()" только недостаточно для защиты от инъекций SQL. Подготовленные заявления и строгие белые списки обеспечивают более надежные гарантии от этих атак.
]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3