PHP ПРОВЕРКА SQL ЗАПРОСА
Проверка корректности SQL запросов очень важна для безопасности приложений, написанных на PHP. Неправильно построенные запросы могут привести к уязвимостям, таким как SQL инъекции, которые могут позволить злоумышленникам получить доступ к конфиденциальной информации.
В PHP для проверки запросов используют функции, такие как mysqli_real_escape_string
или PDO::quote
, которые экранируют специальные символы в запросах. Это предотвращает некорректную интерпретацию запросов и позволяет их выполнить безопасно.
Ниже приведен пример кода на PHP, который использует функцию mysqli_real_escape_string
для экранирования специальных символов в запросе SELECT:
$mysqli = mysqli_connect("localhost", "user", "password", "database");if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); exit();}$name = mysqli_real_escape_string($mysqli, $_GET['name']);$sql = "SELECT * FROM users WHERE name = '{$name}'";if ($result = mysqli_query($mysqli, $sql)) { while ($row = mysqli_fetch_assoc($result)) { echo $row['name'] . " " . $row['email']; } mysqli_free_result($result);}mysqli_close($mysqli);
В этом примере переменная $name
, полученная из GET запроса, была экранирована функцией mysqli_real_escape_string
, прежде чем использоваться в SQL запросе. Это гарантирует, что запрос будет выполнен безопасно, даже если он содержит специальные символы, такие как кавычки.
SQL запросы LEFT JOIN, RIGHT JOIN и INNER JOIN в PHP
Как легко взломать сайт на PHP — SQL injection
Работа с базой данных SQL запросы и php
КАК БЕЗ ПЕРЕЗАГРУЗКИ СТРАНИЦЫ СДЕЛАТЬ ЗАПРОС
Пишем проверку на наличие пользователя в базе - Динамический веб-сайт
PHP and MySQL with CRUD Operations: Create, Read, Update, Delete
PHP для начинающих - #13 Подключение к БД и первый SQL-запрос