Система бронирования мест в отелях города
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
модуля mod_php, который должен быть включен в конфигурации Web-сервера.
Рассмотрим теперь структуру программного обеспечения со стороны клиента. Клиенты могут работать посредством Web-интерфейса. Со стороны клиентов находится только Web-браузер. Им может быть Internet Explorer, Opera, Mozilla и т.п.
Рассмотрим основные механизмы взаимодействия описанных компонентов информационной системы.
Удаленный пользователь, работающий посредством Web-интерфейса, взаимодействует с Web-сервером через протокол HTTP.
При этом запрос к базе данных передается Web-серверу, тот в свою очередь, принимает его и обрабатывает в соответствии с кодом, написанным в PHP-скриптах, и соответственно генерирует SQL запрос к серверу СУБД.сервер взаимодействует с сервером СУБД через протоколу TCP/IP.
Сервер СУБД, приняв запрос, формирует ответ, и передает результат обратно Web-серверу. После этого в соответствии с кодом PHP-скрипта, выполнявшего данный запрос, и полученных данных, формируется ответ пользователю в виде html-страницы. Данная страница передается Web-серверу, и после этого сервер передает ее клиенту.
3. Разработка системы управления сайтом и заявками на бронирование номеров
Как показано в предыдущих разделах, функционал проектируемой программной системы можно разбить на 2 части:
Основной функционал, затребованный заказчиком в самом начале;
Дополнительный функционал, который может понадобиться заказчику впоследствии.
Особое внимание при проектировании необходимо уделить базе данных, т.к. именно в ней будет храниться вся информация и именно от нее будет зависеть структура классов разрабатываемой программы.
3.1 Разработка базового функционала системы управления сайтом и заявками на бронирование
К элементам, которые относятся к базовому функционалу, относятся система управления сайтом и заявками на бронирование номеров в отелях. Также согласно требованиям заказчика должна быть грамотно проработана система безопасности.
3.1.1 Разработка системы доступа к административной части
Доступ к административной части системы разработан на основе сеансов, т.е. последовательности HTTP-запросов, сделанных в течение определенного интервала времени одним и тем же пользователем с одного и того же компьютера к одному и тому же Web-приложению.
Методология поддержки сеансов базируется на следующем. При первом запросе пользователя генерируется новый сеанс, а все последующие запросы рассматриваются как часть этого сеанса, если они сгенерированы в рамках заданного интервала времени (пока не истекло время ожидания сеанса - session timeout).
Сеанс используется для определения пользователя, подключенного в данный момент к приложению. Если пользователь успешно зарегистрировался, в базу данных приложения добавляется запись с идентификатором сеанса для данного пользователя. Тогда все последующие запросы в рамках этого сеанса воспринимаются как запросы именно этого пользователя, а не какого-либо другого.
Основным элементом сеанса является его идентификатор (session identifier), который однозначно определяет сеанс. Сгенерированный и отправленный клиенту при первом запросе идентификатор сеанса должен быть уникальным и в то же время достаточно защищенным, чтобы злоумышленник не мог легко его подделать.
В разрабатываемой системе идентификаторы сеансов представляют собой 32-символьную строку, состоящую из цифр и символов алфавита. Подделка такого идентификатора достаточно сложна для подделки и требует особых усилий.
3.1.1.1 Обеспечение повышенной безопасности
С учетом требований заказчика о повышенном внимании к безопасности применяются следующие дополнительные средства защиты:
а) Использование временных интервалов истечения срока:
При работе с данными cookie практически всегда устанавливается время истечения срока их действия. Однако нельзя гарантировать, что пользователь не уйдет пить кофе и не забудет завершить сеанс. Использование временных интервалов ожидания предполагает регистрацию временной метки каждого запроса и оценивание времени между последующими запросами в течение сеанса. При истечении времени ожидания (в программе это 5 минут) прерывается сеанс и требуется повторная авторизация пользователя.
б) Задание максимального срока жизни сессии:
На тот случай, если злоумышленнику все-таки удалось получить доступ к некоторой сессии, необходимо снизить ущерб, который он может нанести. Для этого максимальная продолжительность сеанса ограничена часом работы. По истечение этого срока приложение повторно запросит регистрационные данные.
в) Проверка пользовательского агента:
При обращении к приложению оно, в свою очередь, считывает информацию о пользовательском агенте для данного сеанса работы в Web. Это строка, определяющая производителя Web-броузера, его имя, версию и платформу. При этом нельзя гарантировать уникальность подобной строки для каждого компьютера. Однако в мире существует так много различных броузеров и их версий, что с высокой вероятностью различные компьютеры сгенерируют различные строки агента пользователя. Проверяя при последующих запросах соответствие данных агента пользователя, обеспечивается дополнительная линия защиты против взломов сеансов. Интересно, что строка агента пользователя генерируемая броузером Internet Explorer, может быть модифицирована в реестре Windows. Системные администраторы могут воспользоваться этим фактом и создать хар