Настоящий сайт хранит данные в базе, принимает их из форм и помнит вошедшего пользователя. Четвёртый раздел программы соединяет PHP с MySQL и учит делать это безопасно: правильно выбирать метод передачи данных, хранить пароли хэшем и не давать злоумышленнику подменить SQL-запрос.
Этапы проектирования базы данных: концептуальный, логический, физический. Команды SQL: выборка с условием, добавление, изменение, удаление, подсчёт. Методы GET и POST, когда какой выбирать, суперглобальные массивы с данными запроса. Сессии: запуск, хранение данных пользователя, выход; отличие сессии от cookie. Безопасная авторизация: password_hash и password_verify, подготовленные запросы против SQL-инъекций, экранирование вывода htmlspecialchars. Регулярные выражения и проверка формата ввода.
Пятнадцать заданий: прочитать SQL-запрос и посчитать его результат, сопоставить команду SQL и действие, вставить пропущенные имена массивов и функций, разделить формы и ссылки по методу передачи, расставить шаги входа в систему, выбрать строки, подходящие под регулярное выражение, найти уязвимый запрос.
Пояснения показывают, почему пароль нельзя передавать методом GET и хранить открытым текстом, как строка с кавычкой ломает запрос, собранный склейкой, где на самом деле хранятся данные сессии и почему вывод чужого текста без htmlspecialchars опасен.
Работа завершает учебную часть программы перед итоговым проектом — сайтом с базой данных и входом пользователей. По её результатам видно, сможет ли ученик сделать такой сайт без грубых ошибок безопасности. Программа «Web-программирование» продолжает вёрстку серверной частью: локальный сервер, язык PHP, база MySQL, формы и авторизация. За семьдесят два часа ученик проходит путь от «Hello, world!» до сайта с регистрацией и личным кабинетом — его он и защищает как итоговый проект. Эта работа — третья из 3 по курсу.
Пройти комплект можно с любого устройства — настольного компьютера, ноутбука, планшета или смартфона. Поскольку для работы можно указать окно выполнения, ученики вправе проходить её дистанционно, из дома. Чтобы снизить риск списывания, фиксируются попытки переключиться на другие вкладки браузера или другие приложения.
Краткая шпаргалка по теме курса: понятия, правила и примеры, типичные ошибки. Заданий этой работы в ней нет — только материал, который она проверяет.
Шпаргалка: MySQL, формы GET и POST, сессии и авторизация — курс «Web-программирование», 7–9 классы →Что делает запрос?
SELECT * FROM users WHERE age > 14;Сопоставьте команду SQL и действие.
Эта работа открывается в кабинете родителя: ребёнок проходит её с телефона или компьютера, вы видите баллы, разбор каждой ошибки и то, какие темы просели. Разовая оплата, доступ навсегда. Первый тест — бесплатно.
Купить для ребёнка — 190 ₽ Что такое кабинет родителяДля учителей и репетиторов, работающих с учениками вне школы. Разовая оплата, доступ навсегда — без подписки. Проведение с любого устройства: участники заходят по ссылке или QR-коду, регистрация не нужна. Результат и разбор ошибок — сразу после работы.
Купить тест — 390 ₽ Оферта и реквизитыДля всей школы — подключить организацию по лицензии →
Чтобы добавить тест в базу и провести диагностику — подключите школу к ЗнаниоМетр. Тест станет вашей редактируемой копией: правьте вопросы, баллы и запускайте сессии.
Посмотреть в демоРеальные экраны прохождения в ЗнаниоМетр: на компьютере, на смартфоне и версия для печати (PDF).