- •«Московский технический университет связи и информатики» (мтуси)
- •Практическая работа
- •Введение
- •Предметная область
- •Бизнес требования Функциональные требования
- •Сценарии использования для описания функциональности (Use Case)
- •Uc. Регистрация на сайте
- •Uc. Авторизация на сайте
- •Проектирование и разработка ис
- •Запрос для создания бд:
- •Запрос для авторизации:
- •Запись в бд нового пользователя
- •Язык программирования
- •Интерфейс
- •Угрозы защиты информации
- •Симптомы sqLi-атаки
- •Типы sql-инъекций
- •Внутриполосная атака (In-band sqLi)
- •Инференциальная атака (Inferential sqLi, также известна как «слепая sql-инъекция»)
- •Внеполосная атака (Out-of-band sqLi)
- •Последствия атак на основе sql-инъекции
- •Примеры sql-инъекций
- •Методика защиты от угроз
- •Приложение а Файл main.Py
- •Приложение б Файл main_no_injection.Py
- •Приложение в Файл Config.Json
Бизнес требования Функциональные требования
Сайт предполагает работу двух типов ролей: Пользователь и Администратор. Для человека с ролью «Пользователь» доступны следующие функции:
Регистрация на сайте
Авторизация на сайте
Просмотр информации на сайте
Выход из системы
Для человека с ролью «Администратор» доступны следующие функции:
Авторизация на сайте
Просмотр информации о пользователях
Выход из системы
Сценарии использования для описания функциональности (Use Case)
Словарь сокращений представлен в таблице 1.
Таблица 1. Сокращение наименований в Use Case
Сокращение |
Определение |
П |
Пользователь |
АД |
Администратор |
Ф |
Front |
Б |
Back |
Uc. Регистрация на сайте
Роли: Пользователь сайта
Предусловия: отсутствуют
Основной поток (ОП):
П. нажимает на кнопку «Еще не зарегистрирован»;
Ф. отправляет запрос на Б;
Б. вызывает страницу «Регистрация»;
П. заполняет поля «Email», «Пароль», «Повторите пароль»;
П. нажимает на кнопку «Зарегистрироваться»;
Ф. передает запрос на Б.;
Б. обращается к БД для создания новой записи в таблицу;
Переход к АП.1.
Б. вызывает страницу «Основная страница сайта»;
П. успешно вошел в систему;
Альтернативные потоки (АП):
АП.1. Отображение неверно введенных данных:
Предусловие ОП.6.
Б. отправляет сообщение об ошибке
Ф. выводит сообщение об ошибке
П. вводит корректные данные для входа
Переход к ОП.7.
Ограничение:
Валидация поля «Email»
Пункт валидации: ОП.5.
Кто валидирует: Back
Как валидирует: [0-9A-Za-z]{1}[-0-9A-z\.]{0,30}[0-9A-Za-z]?)|([0-9А-Яа-я]{1}[-0-9А-я\.]{0,30}[0-9А-Яа-я]?))@([-A-Za-z]{1,}\.){1,}[-A-Za-z]{2,})$",
Текст ошибки валидации: «Введите корректный email»
Валидация поля «Пароль»
Пункт валидации: ОП.5.
Кто валидирует: Back
Как валидирует:
Длинна не менее 8 символов
Наличие букв, символов и цифр в одной последовательности
Проверка на популярные последовательности символов
Текст ошибки валидации: «Слабый пароль (не короче 8 букв и цифр, а также спецсимволы. Не используйте личные данные, последовательности (123456, qwerty) и популярные пароли (password)»
Валидация поля «Повторите пароль»
Пункт валидации: ОП.5.
Кто валидирует: Back
Как валидирует:
Длинна не менее 8 символов
Наличие букв, символов и цифр в одной последовательности
Проверка на популярные последовательности символов
Текст ошибки валидации: «Введённые пароли не совпадают»
Uc. Авторизация на сайте
Роли: Администратор и Пользователь сайта
Предусловия: Пользователь должен быть зарегистрирован в системе
Основной поток (ОП):
П. заполняет поля «Email» и «Пароль»;
П. нажимает на кнопку «Войти»
Ф. передает запрос на Б.;
Б. обращается к БД для проверки ввода данных;
Б. отправляет ответ Ф.;
Переход к АП.1.
П. успешно вошел в систему;
Альтернативные потоки (АП):
АП.1. Отображение неверно введенных данных:
Предусловие ОП.5.
Б. отправляет сообщение об ошибке Ф.
Ф. выводит сообщение об ошибке
П. вводит корректные данные для входа
Переход к ОП.6.
Ограничение:
Наименование: Проверка на ввод пустых полей
Пункт валидации: ОП.3.
Кто валидирует: Back
Как валидирует: Поля «Email» и «Пароль» не должны быть пустыми
Текст ошибки валидации: Такого пользователя не существует
UC. Выход из личного кабинета
Роли: Администратор и Пользователь сайта
Предусловия: Пользователь должен быть авторизован в системе
Основной поток (ОП):
П. нажимает на кнопку «Выйти»;
Ф. передает запрос на Б.;
Б. отправляет ответ Ф.;
П. успешно вышел из системы;
Альтернативные потоки (АП): отсутствуют
Ограничение: отсутствуют
UC. Просмотр информации на сайте
Роли: Пользователь сайта
Предусловия: Пользователь должен быть авторизован в системе
Основной поток (ОП):
Ф. отображает информацию о пользователе и оказанных ему услугах
Альтернативные потоки (АП): отсутствуют
Ограничение: отсутствуют
UC. Просмотр информации о пользователях
Роли: Администратор сайта
Предусловия: Администратор должен быть авторизован в системе
Основной поток (ОП):
Ф. отображает информацию о пользователях, которые зарегистрированы в системе;
Альтернативные потоки (АП): отсутствуют
Ограничение: отсутствуют
