Проверка данных формы
Проверяйте введённые пользователем данные для обеспечения безопасности и корректности
«Проверка данных формы» — бесплатный урок PHP Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 3 уроков всего.
Проверка и защита данных формы
Проверка и защита данных формы
Добро пожаловать на следующий урок! На этом уроке вы научитесь проверять и защищать пользовательские данные, чтобы ваши формы были корректными и защищёнными от вредоносных атак. Давайте начнём!

Зачем проверять и защищать входные данные?
Зачем проверять и защищать входные данные?
Проверка и защита данных формы необходимы, чтобы:
- Обеспечить точность и удобство использования данных.
- Защитить приложение от угроз безопасности, таких как SQL-инъекции и атаки XSS.
Ключевой момент: Всегда проверяйте и очищайте пользовательские данные перед их обработкой или сохранением.
Проверка входных данных
Проверка входных данных
Используйте встроенные функции PHP для проверки распространённых типов входных данных:
filter_var(): проверяет адреса электронной почты, веб-адреса и целые числа.preg_match(): проверяет входные данные на соответствие регулярным выражениям.
Пример: проверка адреса электронной почты:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST["email"];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Valid email: $email";
} else {
echo "Invalid email address.";
}
}
?>
Очистка входных данных
Очистка входных данных
Очищайте входные данные, чтобы удалять нежелательные символы или вредоносный код. Пример:
Совет: Используйте filter_var() с подходящими фильтрами для разных типов данных.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
echo "Sanitized Name: $name";
}
?>
Предотвращение межсайтового скриптинга (XSS)
Предотвращение межсайтового скриптинга (XSS)
Экранируйте специальные символы, чтобы предотвратить атаки XSS. Используйте:
htmlspecialchars(): преобразует специальные символы в HTML-сущности.
Пример:
Совет: Всегда экранируйте пользовательские данные перед их отображением в браузере.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$comment = htmlspecialchars($_POST["comment"]);
echo "Comment: $comment";
}
?>
Предотвращение SQL-инъекций
Предотвращение SQL-инъекций
SQL-инъекция происходит, когда вредоносный код добавляется в SQL-запросы. Используйте подготовленные выражения, чтобы предотвратить такие атаки. Пример:
Ключевой момент: Всегда используйте подготовленные выражения при взаимодействии с базой данных.
<?php
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "root", "");
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->execute(["username" => $_POST["username"]]);
$user = $stmt->fetch();
?>
Распространённые шаблоны проверки
Распространённые шаблоны проверки
Вот несколько распространённых шаблонов:
- Проверка номера телефона:
preg_match('/^\d{10}$/', $phone) - Проверка пароля: проверьте его длину и сложность.
Пример: проверка надёжного пароля:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$password = $_POST["password"];
if (strlen($password) >= 8 && preg_match('/[A-Z]/', $password)) {
echo "Strong password!";
} else {
echo "Password must be at least 8 characters long and include an uppercase letter.";
}
}
?>
Защита загрузки файлов
Защита загрузки файлов
Для форм, обрабатывающих загрузку файлов:
- Проверяйте тип и размер файла.
- Храните файлы в защищённой папке за пределами корневой папки веб-сервера.
Пример:
<?php
if ($_FILES["file"]["size"] < 500000 && in_array($_FILES["file"]["type"], ["image/jpeg", "image/png"])) {
move_uploaded_file($_FILES["file"]["tmp_name"], "/secure/location/" . $_FILES["file"]["name"]);
echo "File uploaded successfully!";
} else {
echo "Invalid file.";
}
?>
Отличная работа!
Отличная работа!
Поздравляем! Вы научились проверять и защищать данные формы, чтобы ваши веб-приложения были безопасными и надёжными. На следующем уроке мы рассмотрим обработку загрузки файлов в PHP. Продолжайте программировать!

Часто задаваемые вопросы
Урок «Проверка данных формы» бесплатный?
Да — полный текст урока «Проверка данных формы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 3 уроков всего.
Чему я научусь в уроке «Проверка данных формы»?
Проверяйте введённые пользователем данные для обеспечения безопасности и корректности Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать PHP Academy?
Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Проверка данных формы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке PHP Academy?
Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание HTML-форм
- Обработка данных форм с помощью PHP
- Проверка данных формы