Социальная сеть с функцией восстановления пароля и cookie-авторизацией

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Программирование
  • 40 40 страниц
  • 15 + 15 источников
  • Добавлена 23.06.2024
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
ВВЕДЕНИЕ 3
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ СОЗДАНИЯ ВЕБ-ПРИЛОЖЕНИЯ С COOKIE-АВТОРИЗАЦИЕЙ 5
1.1 Организационная структура сайта 6
1.2 Формулирование требований к приложению. оценка рисков внедрения 9
1.4 Составление технического задания на разработку 13
2 СОЗДАНИЕ ВЕБ-ПРИЛОЖЕНИЯ “СОЦИАЛЬНАЯ СЕТЬ” С СИСТЕМОЙ АВТОРИЗАЦИИ НА ОСНОВЕ COOKIE 17
2.1 Состав сайта 18
2.2.Проектирование и разработка базы данных 21
2.3 Интерфейс пользователя (дизайн) 24
2.4 Реализация сайта на языке программирования php 27
2.5 Скриншоты. тестирование. инструкция пользователя. инструкция администратора 28
2.5.1 Руководство пользователя 31
2.6 Оценка экономического эффекта внедрения 33
ЗАКЛЮЧЕНИЕ 36
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 38
ПРИЛОЖЕНИЯ 40
Приложение А 40


Фрагмент для ознакомления

А для AJAX-запросов был выбран "hotwired-laravel" для динамического обновления контента без необходимости полной перезагрузки страницы.10. ТестированиеПроводится ручное тестирование для проверки взаимодействия между пользователями и общей функциональности.2.5 СКРИНШОТЫ. ТЕСТИРОВАНИЕ. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ. ИНСТРУКЦИЯ АДМИНИСТРАТОРАНиже приведено описание основных программных модулей в рамках разработки в Laravel Framework (структура проекта Laravel в основном выглядит как показано в Приложение А).app/ — Содержит основное приложение и классы логики:Console/ — Команды консоли Artisan.Exceptions/ — Обработка исключений.Http/ — Веб-слой приложения:Controllers/ — Контроллеры, обрабатывающие HTTP-запросы.Middleware/ — Промежуточные слои, обрабатывающие запросы до и после контроллеров.Requests/ — Специфические HTTP-запросы и их валидация.Models/ — Eloquent модели, представляющие данные и взаимодействие с базой данных.bootstrap/ — Загрузка начальных настроек фреймворка:cache/ — Кэш компиляции фреймворка.config/ — Файлы конфигурации для различных аспектов приложения.database/ — Все, что связано с базой данных:factories/ — Фабрики для генерации тестовых данных.migrations/ — Миграции базы данных.seeders/ — Начальные данные для базы данных.public/ — Публично доступные файлы, такие как index.php, загрузка ассетов, изображений и других ресурсов.resources/ — Ресурсы приложения:lang/ — Файлы локализации.views/ — Шаблоны Blade.js/, css/ — Файлы JavaScript и CSS.routes/ — Определения маршрутов для веб, API и консольных команд:web.php — Маршруты для веб-приложения.api.php — Маршруты для API.console.php — Маршруты для консольных команд.storage/ — Хранилище временных файлов:app/ — Пользовательские файлы.framework/ — Системные файлы.logs/ — Логи приложения.tests/ — Тесты приложения:Feature/ — Тесты функциональности.Unit/ — Модульные тесты.vendor/ — Пакеты Composer.В ходе разработки приложения для тестирования использовалось как явное тестирование, при котором каждая функция проверяется самостоятельно через дебаги, браузера и консоли, так и ручное тестирование, которое проводилось для обеспечения надежности и корректности работы приложения Laravel. Целью было проверить функциональность и производительность различных компонентов, выявить ошибки и убедиться, что интеграция различных частей системы работает без сбоев. Чтобы работать с тестированием в Laravel было выполнено ряд нужных действий, в том числе:Интегрировано Mockery в среду тестирования Laravel. Это включало установку Mockery через Composer и настройку его для использования в тестах PHPUnit.Разработано основные тестовые примеры, охватывающие различные аспекты приложения, включая взаимодействие с пользователем, обработку данных и бизнес-логику. При тестировании основных функциональностей были получены следующие результаты (рис. 11):Рисунок 11 – Результаты тестов2.5.1 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯИзначально для входа на разработанный сайт доступно два аккаунта: первый для админа — почта: admin@example.ru, пароль: adminpass; второй для обычного пользователя — почта: user@example.ru, пароль: userpass.Для установки и эксплуатации конечного продукта на системе своей машины (для windows) — веб-приложения необходимо выполнить все шаги, приведенные ниже:Нужно установить MySQL если у вас еще не установленаМожете установить с официального сайта: https://dev.mysql.com/downloads/mysql/Установка NodeJs и Yarn. Установите последнюю версию с официального сайта:https://nodejs.org/en/download/package-managerПосле установки NodeJs, откройте Командную строку, выполните: npm install -g yarnУстановите Visual Studio Code: https://code.visualstudio.com/downloadСборка проекта:Откройте проект в текстовом редакторе Visual Studio Code (VS Code). Откройте терминал нажав на сочетание клавиш ctrl + j, и выполните следующие команды:cp .env.example .envcomposer installphp artisan key:generatephp artisan storage:linkПосле сборки, нужно запустить миграции:Перед этим проверьте файл .env, в нем нужно в поле DB_PASSWORD указать пароль от MySQL, который вы указали при установке. Выполните (это мигрирует все таблицы в БД mysql):php artisan migrate --seedПосле выполнения этой команды увидите такое сообщение: Would you like to create it? (yes/no) [no], введите y и нажмите Enter (это создаст нужную БД в MySQL).5. Запускаем проект:yarn installyarn buildyarn dev6. Откройте еще один терминал, не закрывая текущий:Рисунок 12 – Открытие вкладки терминала в “Vs Code”После чего, выполните следующую команду:php artisan serveТеперь можете открыть страницу http://localhost:8000/ в браузере, чтобы открыть само приложение:Рисунок 13 – Запуск программы в локальном хостеДля проверки писем используется Mailpit, чтобы запустить откройте 3-й терминал, выполните: ./mailpit.exe2.6 ОЦЕНКА ЭКОНОМИЧЕСКОГО ЭФФЕКТА ВНЕДРЕНИЯОжидается, что внедрение разработанного веб-приложения окажет значительное экономическое воздействие на организацию. В этом разделе будет представлена оценка экономических выгод от повышения эффективности, экономии затрат, повышения безопасности и улучшения пользовательского опыта.Экономия затратСокращение операционных расходов:Ручные процессы. Автоматизация аутентификации и авторизации сокращает необходимость ручного вмешательства, что снижает трудозатраты.Сокращение бумажной работы. Цифровое управление данными пользователей снижает затраты, связанные с физическим хранением и обработкой документов.Обслуживание и поддержка:Эффективное управление. Использование Laravel, MySQL и современных технологий пользовательского интерфейса, таких как Bootstrap и Vite, снижает сложность и стоимость поддержки приложения.Технологии с открытым исходным кодом. Использование фреймворков с открытым исходным кодом позволяет отказаться от лицензионных платежей, что способствует экономии средств.Повышение эффективностиЭкономия времени:Быстрый доступ. Пользователи могут быстро проходить аутентификацию и получать доступ к своим учетным записям, что приводит к повышению производительности и улучшению пользовательского опыта.Оптимизация процессов. Эффективная обработка пользовательских данных и разрешений ускоряет выполнение административных задач.Масштабируемость:Возможность роста. Приложение разработано таким образом, чтобы обеспечить работу с растущим числом пользователей без существенного увеличения затрат, что способствует масштабируемости.Оптимизация ресурсов. Оптимизированная производительность и управление ресурсами снижают затраты на сервер.Усовершенствования в области безопасностиЗащита данных:Безопасная аутентификация. Надежные механизмы аутентификации предотвращают несанкционированный доступ, снижая риск утечки данных и связанные с этим расходы.Соответствие нормативным требованиям. Обеспечение безопасности данных помогает соответствовать нормативным требованиям, избегая штрафов и санкций.Снижение рисков:Сокращение времени простоя. Усиленные меры безопасности снижают вероятность кибератак, обеспечивая работоспособность приложения и его доступность для пользователей.Репутация бренда. Защита пользовательских данных помогает сохранить доверие и авторитет, что может положительно сказаться на доходах.Улучшенный пользовательский опытУдовлетворенность клиентов:Удобный интерфейс. Хорошо продуманный пользовательский интерфейс повышает удовлетворенность, что приводит к удержанию и вовлечению пользователей.Отзывчивый дизайн. Использование современных технологий пользовательского интерфейса обеспечивает доступность приложения на различных устройствах, расширяя базу пользователей.Приложение повышает операционную эффективность, снижает затраты, повышает безопасность и обеспечивает превосходный пользовательский опыт. Эти факторы обеспечивают значительный положительный экономический эффект.ЗАКЛЮЧЕНИЕВ данной курсовой работе были рассмотрены следующие вопросы:Создание веб-приложения с системой аутентификации и авторизации. В работе рассмотрены различные типы систем аутентификации и авторизации, особое внимание уделено реализации системы на основе cookie. Исследование позволило получить полное представление о том, как функционируют эти системы, и о важности безопасного управления пользователями в веб-приложениях.Формирование структуры сайта. Был подробно рассмотрен процесс формирования структуры сайта с упором на безопасный, эффективный и удобный дизайн. В структуру сайта были включены такие важные компоненты, как страницы аутентификации, контроль доступа на основе ролей и безопасная работа с данными.Исследование включало в себя углубленное изучение разработки веб-приложений с использованием различных технологий. Среди изученных технологий — Laravel PHP с объектно-ориентированным программированием (ООП), MySQL для управления базами данных, а также технологии пользовательского интерфейса, такие как Bootstrap, Sass и Vite. Эти инструменты были использованы для создания надежного и функционального веб-приложения.Выполненная работа соответствует требованиям технического задания (ТЗ). Веб-приложение было разработано и реализовано в соответствии с руководством, что позволило обеспечить соответствие необходимым стандартам и ожиданиям.Основные выводы, сделанные в ходе выполнения курсовой работы:Эффективная аутентификация и авторизация. Внедрение системы аутентификации обеспечивает безопасный и эффективный метод управления доступом пользователей и обеспечения безопасности данных.Технологическая интеграция. Использование современных технологий, таких как Laravel, MySQL, Bootstrap, Sass и Vite, значительно улучшает процесс разработки и качество конечного продукта. Эти технологии предлагают мощные инструменты для создания масштабируемых и поддерживаемых веб-приложений.Таким образом, в курсовой работе успешно решены задачи создания веб-приложения с безопасной системой аутентификации и авторизации, формирования структуры сайта и применения передовых технологий веб-разработки. Все цели, обозначенные в техническом задании, были достигнуты, в результате чего было создано функциональное веб-приложение, демонстрирующее эффективное использование изученных технологий и методологий.СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВАндресс Д. Защита данных. От авторизации до аудита. – ISBN 978-5-4461-1733-8.Сабанов А.Г., Шелупанов А.А. Идентификация и аутентификация в цифровом мире. – ISBN 978-5-9912-0976-2.Таненбаум Э., Фимстер Н., Уэзеролл Д. Компьютерные сети. 6-е изд. – СПб.: Питер, 2023. – ISBN 978-5-4461-1766-6.Стаффер М. C78 Laravel. Полное руководство. 2-е изд. – СПб.: Питер, 2020. – 512 с.: ил. – (Серия «Бестселлеры O'Reilly»). – ISBN 978-5-4461-1396-5.Идентификация, аутентификация, авторизация: в чем разница и зачем они нужны [Электронный ресурс] // Kaspersky Blog. – Режим доступа: https://www.kaspersky.ru/blog/identification-authentication-authorization-difference/29123 Идентификация, Аутентификация, Авторизация. В чем же разница? [Электронный ресурс] // Habr. – Режим доступа: https://habr.com/ru/articles/720842/Веб-аутентификация: файлы cookies или токены? [Электронный ресурс] // Proglib.io. – Режим доступа: https://proglib.io/p/veb-autentifikaciya-fayly-cookies-ili-tokeny-2021-08-14Защита от темных сил: Межсайтовая подделка запроса [Электронный ресурс] // Proglib.io. – Режим доступа: https://proglib.io/p/defense-against-the-dark-artsCookie [Электронный ресурс] // Wikipedia. – Режим доступа: https://ru.wikipedia.org/wiki/CookieВеб-разработка [Электронный ресурс] // Wikipedia. – Режим доступа: https://ru.wikipedia.org/wiki/Веб-разработкаУправление риском ИТ [Электронный ресурс] // Habr. – Режим доступа: https://habr.com/ru/articles/599047/Руководство по PHP [Электронный ресурс] // Php Documentation. – Режим доступа: https://www.php.net/manual/ru/index.phpPHP [Электронный ресурс] // Wikipedia. – Режим доступа: https://ru.wikipedia.org/wiki/PHPLaravel [Электронный ресурс] // Laravel Documentation. – Режим доступа: https://laravel.su/docs/10.x/installation#vstrecaite-laravelLaravel [Электронный ресурс] // Википедия. – Режим доступа: https://ru.wikipedia.org/wiki/LaravelПРИЛОЖЕНИЯПриложение АДревовидное структура расположения файлов проекта Laravel Framework.project-root/│├── app/│ ├── Console/│ ├── Exceptions/│ ├── Http/│ │ ├── Controllers/│ │ ├── Middleware/│ │ ├── Requests/│ ├── Models/│ └── Providers/│├── bootstrap/│ └── cache/│├── config/│├── database/│ ├── factories/│ ├── migrations/│ └── seeders/│├── public/│ └── index.php│├── resources/│ ├── lang/│ ├── views/│ └── js/│├── routes/│ ├── web.php│ ├── api.php│ └── console.php│├── storage/│ ├── app/│ ├── framework/│ └── logs/│├── tests/│ ├── Feature/│ └── Unit/│├── vendor/│└── artisan

1. Андресс Д. Защита данных. От авторизации до аудита. – ISBN 978-5-4461-1733-8.
2. Сабанов А.Г., Шелупанов А.А. Идентификация и аутентификация в цифровом мире. – ISBN 978-5-9912-0976-2.
3. Таненбаум Э., Фимстер Н., Уэзеролл Д. Компьютерные сети. 6-е изд. – СПб.: Питер, 2023. – ISBN 978-5-4461-1766-6.
4. Стаффер М. C78 Laravel. Полное руководство. 2-е изд. – СПб.: Питер, 2020. – 512 с.: ил. – (Серия «Бестселлеры O'Reilly»). – ISBN 978-5-4461-1396-5.
5. Идентификация, аутентификация, авторизация: в чем разница и зачем они нужны [Электронный ресурс] // Kaspersky Blog. – Режим доступа: https://www.kaspersky.ru/blog/identification-authentication-authorization-difference/29123
6. Идентификация, Аутентификация, Авторизация. В чем же разница? [Электронный ресурс] // Habr. – Режим доступа: https://habr.com/ru/articles/720842/
7. Веб-аутентификация: файлы cookies или токены? [Электронный ресурс] // Proglib.io. – Режим доступа: https://proglib.io/p/veb-autentifikaciya-fayly-cookies-ili-tokeny-2021-08-14
8. Защита от темных сил: Межсайтовая подделка запроса [Электронный ресурс] // Proglib.io. – Режим доступа: https://proglib.io/p/defense-against-the-dark-arts
9. Cookie [Электронный ресурс] // Wikipedia. – Режим доступа: https://ru.wikipedia.org/wiki/Cookie
10. Веб-разработка [Электронный ресурс] // Wikipedia. – Режим доступа: https://ru.wikipedia.org/wiki/Веб-разработка
11. Управление риском ИТ [Электронный ресурс] // Habr. – Режим доступа: https://habr.com/ru/articles/599047/
12. Руководство по PHP [Электронный ресурс] // Php Documentation. – Режим доступа: https://www.php.net/manual/ru/index.php
13. PHP [Электронный ресурс] // Wikipedia. – Режим доступа: https://ru.wikipedia.org/wiki/PHP
14. Laravel [Электронный ресурс] // Laravel Documentation. – Режим доступа: https://laravel.su/docs/10.x/installation#vstrecaite-laravel
15. Laravel [Электронный ресурс] // Википедия. – Режим доступа: https://ru.wikipedia.org/wiki/Laravel