Лекция 5: �Разработка на PHP (продолжение).
ЛР 3�Формы, cookies, sessions.
Авторизация и контроль доступа.�Теоретическая часть.
intervolga.ru/school/
Ерофеев Анатолий Андреевич,
руководитель отдела разработки
Устройство ИНТЕРНЕТА,
HTTP, HTML, верстка
Веб-сервер�Лекции 1 и 2�ЛР 1
Работа с данными�PHP, MySQL, веб-формы, фильтрация данных�Лекции 3 и 4�ЛР 2
Работа с формами, куками, сессиями.
Авторизация, регистрация, проверка доступа�Лекции 5 и 6�ЛР 3
Лабораторная работа 3. Авторизация
Делаем полноценный механизм:
Делаем только базовые сценарии, но “как надо”.
Демо тут: https://volgu.ivdev.ru/LR3/
Используем формы, сессии и базу данных.
Сценарии
Сценарии
Сценарии
Сценарии
Требования
Как сдавать?
Основные блоки
По сути регистрация – просто запись пользователя в базу данных.
Аутентификация – получение данных из формы, чтение из БД и сравнение.
Авторизация – запись ID пользователя в сессию.
Выход – очистка сессии.
Потребуются
Антипример
В Сети полно примеров такого типа.
Они очень умно пишут, но показывают плохой незащищенный код.
Не делайте так.
Слушайте лекции.
Еще раз про работу с формами в PHP
Еще раз про работу с формами в PHP
Фильтрация – только GET. �Авторизация и регистрация – только POST
Обработка формы на сервере
Валидация формы
Еще раз про COOKIES �(не использовать для авторизации!)
Еще раз про COOKIES�(не использовать для авторизации!)
Простой счетчик на COOKIES
Еще раз про SESSION
Еще раз про SESSION
Аутентификация
Регистрация. Пароль. Хеширование
Регистрация. Пароль. Хеширование
Регистрация. Пароль. Хеширование
Вход MD5
Текст любой длины
∞ вариантов
Выход MD5
16-ичное число, 32 символа
3.4028237e+38 вариантов
Форма обратной связи
Что видите сложного?
Форма обратной связи
Что видите сложного?
Форма обратной связи
Что видите сложного?
Форма обратной связи
Что видите сложного?
Форма обратной связи
Что видите сложного?
Форма обратной связи
Теорет
Обработка
Настройка
На этом этапе мы создадим три переменные $my_email (почтовый ящик на который отправляются данные), $path_log (путь до файла логов) и $time_back (время возвращение пользователя обратно на сайт)
Обработка
Шаблоны вывода сообщений:
Обработка
Обработка письма:
Валидация
Учите
регулярные
выражения
Валидация email
Примеры валидных email
user.name+tag+sorting@example.com
test/test@test.com
" "@example.org
"john..doe"@example.org
mailhost!username@example.org
user%example.com@example.org
Обработка пришедших данных
Первым делом мы узнаем, с какой страницы пришел пользователь. Потом определяем переменные, в которых будут храниться наши сообщения и статус отправки письма.
PHP = Hypertext preprocessor не просто так
PHP = Hypertext preprocessor не просто так
PHP = Hypertext preprocessor не просто так
PHP = Hypertext preprocessor не просто так
PHP = Hypertext preprocessor не просто так
PHP = Hypertext preprocessor не просто так
strrev — Переворачивает строку задом наперед
strripos — Возвращает позицию последнего вхождения подстроки без учета регистра
strrpos — Возвращает позицию последнего вхождения подстроки в строке
strspn — Возвращает длину участка в начале строки, полностью соответствующего маске
strstr — Находит первое вхождение подстроки
strtok — Разбивает строку на токены
strtolower — Преобразует строку в нижний регистр
strtoupper — Преобразует строку в верхний регистр
strtr — Преобразует заданные символы или заменяет подстроки
substr_compare — Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
substr_count — Возвращает число вхождений подстроки
substr_replace — Заменяет часть строки
substr — Возвращает подстроку
trim — Удаляет пробелы (или другие символы) из начала и конца строки
ucfirst — Преобразует первый символ строки в верхний регистр
ucwords — Преобразует в верхний регистр первый символ каждого слова в строке
vfprintf — Записывает отформатированную строку в поток
vprintf — Выводит отформатированную строку
vsprintf — Возвращает отформатированную строку
wordwrap — Переносит строку по указанному количеству символов
Регулярные выражения
Задавайте вопросы.
Ерофеев Анатолий Андреевич
руководитель отдела разработки
вертикальная оцифровка бизнеса