PHP: Обработка форм и защита от атак

Что мы узнаем:
  • Как обрабатывать данные, отправленные через форму.
  • Защита от SQL-инъекций и XSS-атак.
  • Использование функций очистки данных.

Обработка данных формы


Когда пользователь отправляет данные через форму, они попадают в суперглобальные массивы $_GET или $_POST. Пример:
// Получение данных из формы
$name = $_POST['name'];
$email = $_POST['email'];

Защита от SQL-инъекций


SQL-инъекции — это атаки, при которых злоумышленник пытается выполнить вредоносный SQL-код через форму. Для защиты от них рекомендуется использовать подготовленные выражения (prepared statements).

Пример с подготовленным выражением:
// Подключение к базе данных
$mysqli = new mysqli("localhost", "user", "password", "database");

// Подготовленное выражение
$stmt = $mysqli->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$stmt->execute();

Защита от XSS-атак


XSS (Cross-Site Scripting) — это атака, при которой злоумышленник вставляет вредоносный JavaScript-код в страницу. Для защиты от них рекомендуется фильтровать и очищать данные.

Пример очистки данных:
// Очистка данных
$safeName = htmlspecialchars($name, ENT_QUOTES, 'UTF-8');
$safeEmail = filter_var($email, FILTER_VALIDATE_EMAIL);

Практическое задание


Создайте PHP-скрипт, который принимает данные из формы и сохраняет их в базе данных, защитившись от SQL-инъекций и XSS-атак.

На этом восьмой урок завершён. Мы изучили обработку форм и защиту от атак, что позволит нам создавать безопасные и надёжные веб-приложения. В девятом уроке мы познакомимся с работой с файлами и каталогами.

Автор:  19.11.2025 06:06:18 pm