УЧЕБНЫЙ РЕЖИМУЧ
КАЧЕСТВО ДАННЫХ / МОДУЛЬ 01

Контроль корректности данных

Интерактивная среда для изучения валидации пользовательского ввода, проверки бизнес-правил и тестирования граничных условий.

DILAB / 001
i
Учебный контур

Все операции выполняются локально в браузере. Данные не отправляются на сервер и не используются для реальной регистрации.

LOCAL ONLY
НАБРАНО БАЛЛОВ 01
000
из 100
ЗАВЕРШЕНО МОДУЛЕЙ 02
0 / 4
Начните с проверки формы
ВЫПОЛНЕНО ПРОВЕРОК 03
000
Журнал обновляется в ходе работы
ПЛАН РАБОТЫ

Учебные модули

Последовательность выполнения не ограничена
ПРИНЦИП

Данные следует проверять до обработки. Клиентская валидация улучшает интерфейс, но не заменяет серверную проверку и ограничения базы данных.

МОДУЛЬ 02 / ПРОВЕРКА ВВОДА

Валидация формы

Проверьте набор пользовательских данных по заданным правилам. Ошибки отображаются для каждого поля отдельно.

ПРОВЕРКА
ФОРМЫ
ЗАДАНИЕ 01

Проверка профиля пользователя

Поля обязательны
Не может быть пустым
3–20 символов; буквы, цифры, _ и -
Проверка структуры адреса
Целое число от 1 до 120
Не менее 8 символов
Значения должны совпадать
!
Ограничение учебной версии

Проверки выполняются в браузере. Для реальной системы те же правила должны повторно проверяться на сервере; уникальность и целостность необходимо дополнительно обеспечивать в базе данных.

МОДУЛЬ 03 / РАЗБОР ИНЦИДЕНТОВ

Анализ инцидентов

Определите, какое правило валидации нарушено. Выберите наиболее точную классификацию и изучите разбор.

РАЗБОР
СИТУАЦИЙ
СИТУАЦИЯ-001УЧЕБНЫЙ СЦЕНАРИЙ

КЛАССИФИЦИРУЙТЕ ОШИБКУ
МОДУЛЬ 04 / ЛАБОРАТОРИЯ ТЕСТИРОВАНИЯ

Тестовая лаборатория

Проверьте правило диапазона на разных входных значениях. Система сравнит ожидаемый результат с фактическим.

ТЕСТОВАЯ
ЛАБОРАТОРИЯ
ПРАВИЛО AGE-001

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

1 ≤ age ≤ 120

Допустимы только целые числа в диапазоне от 1 до 120 включительно.

Тестовые значения
—
Ожидание ввода

Выберите тестовое значение или введите собственное.

ЖУРНАЛ ВЫПОЛНЕНИЯ

Журнал результатов

#Входные данныеОжидалосьПолученоРезультат
Записи отсутствуют. Запустите первый тест.
МОДУЛЬ 06 / БЕЗОПАСНАЯ ЗАГРУЗКА

Публикация изображений и файлов

Учебный модуль по материалам лекции: жизненный цикл загрузки, проверка содержимого, безопасное хранение и контроль доступа. Примеры реализации приведены на PHP.

PHP
UPLOAD SECURITY
i
Важно для безопасности

Любой файл от пользователя считается недоверенным. Атрибут accept, расширение и MIME-тип из браузера сами по себе не обеспечивают защиту.

SERVER SIDE
01

Жизненный цикл загрузки

Приём POST-запроса с multipart/form-data → проверка ошибки PHP → проверка размера и формата → генерация собственного имени → сохранение в отдельное хранилище → контролируемая выдача.

02

Основные угрозы

  • Загрузка исполняемого файла и потенциальное удалённое выполнение кода (RCE).
  • Перезапись существующего файла при использовании исходного имени.
  • Directory Traversal — попытка выйти за пределы каталога через пользовательский путь.
  • Утечка приватных документов из публичного каталога.
  • XSS при небезопасном отображении имени или активного содержимого.
  • Отказ в обслуживании из-за размера файлов и количества запросов.
03

Минимальные проверки на сервере

Разрешительный список расширений; MIME-тип, определённый Fileinfo; проверка структуры изображения; лимит размера; случайное имя; каталог вне публичной web-директории; проверка прав доступа при скачивании.

ПРИМЕР PHP

Безопасная обработка загружаемого изображения

JPG / PNG · до 5 МиБ

Учебный фрагмент показывает ключевые проверки из лекции. Каталог /var/www-private/uploads/ — пример: его нужно создать и выдать PHP права на запись. Каталог не должен исполнять загруженные файлы и обслуживаться напрямую веб-сервером.

!
Перед production-использованием

Добавьте авторизацию, CSRF-защиту, ограничение частоты запросов, настройку прав каталога и контролируемую выдачу файла с проверкой владельца. Согласуйте лимиты приложения с настройками PHP и веб-сервера.

ПРОВЕРКА ПОНИМАНИЯ

Почему нельзя доверять расширению файла?

Файл может иметь расширение photo.php.jpg, а содержимое не соответствовать заявленному формату. Какой подход правильный?

МОДУЛЬ 05 / ПРОВЕРКА ЗНАНИЙ

Контроль знаний

Проверка понимания видов валидации, уровней контроля и базовых практик безопасной обработки данных.

ИТОГОВАЯ
АТТЕСТАЦИЯ
ИТОГОВЫЙ ТЕСТ / 10 ЗАДАНИЙ

Итоговое тестирование

Тест содержит 10 вопросов. Каждый правильный ответ оценивается в 10 баллов. После выбора ответа будет показано объяснение.

ВОПРОСОВ10
МАКСИМУМ100 баллов
ФОРМАТОдин ответ