Разработка динамического сайта для предприятия

Автор работы: Пользователь скрыл имя, 16 Апреля 2012 в 20:13, дипломная работа

Описание

В современной экономической обстановке коммерческие организации используют различные виды рекламы для продвижения на рынке товаров и услуг и привлечения новых клиентов. Существует множество всевозможных видов рекламы. С течением времени эффективность рекламы неизбежно снижается, что ведет к поиску новых, более современных видов рекламы. Одним из таких видов является реклама в сети Internet.
Организации в рекламных целях создают различного рода сайты, такие как сайты-визитки, интернет – витрины, интернет – магазины, корпоративные сайты. Дипломная работа связана с разработкой динамического сайта ЗАО «Точка оплаты», необходимого для рекламы деятельности организации в сети Интернет.

Работа состоит из  1 файл

Разработка динамического сайта для предприятия.doc

— 1.61 Мб (Скачать документ)

     3. Для создания и редактирования графического содержимого сайта будет использоваться Adobe Photoshop CS.

     4. Для обеспечения кроссбраузерности  динамического сайта при верстке  будут использованы наиболее  распространенные браузеры –  MS Explorer, Mozilla Firefox, Opera.

     3.2. Выбор СУБД

     При разработке динамического сайта  в качестве СУБД будет использоваться СУБД MySQL, так как эта СУБД является решением для малых и средних приложений. Динамический сайт не содержит большого объема информации. СУБД MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: существует возможность выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей.

     3.3. Выбор web-сервера

     Apache HTTP-сервер - свободный веб-сервер. С  апреля 1996 и до настоящего времени  является самым популярным HTTP-сервером  в Интернете. По статистике Netcraft, в августе 2007 года он работал на 51 % всех веб-серверов, в марте 2009 года - на 49 %.

     Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет  подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.

     Большинство хостинг-провайдеров используют Apache в качестве web-сервера. Для размещения динамического сайта ЗАО «Точка Оплаты» будут использоваться услуги хостинг-провайдера, поэтому было принято решение разрабатывать динамический сайт под управлением Apache, чтобы в дальнейшем при переносе сайта на другой хостинг не возникло проблем несовместимости.

     3.4. Физическое проектирование  базы данных в  СУБД MySQL

     Физическая  модель базы данных представлена на рис. 12.

Рис. 12 Физическая модель базы данных

     Описание  типов атрибутов приведены в  таблице 3.

     Таблица 3

Таблица Атрибут Поле Признак ключа Тип Длина
Сведения  о странице (Menu) Уникальный  ключ Menu_id * Tinyint 4
Наименование Mname   Varchar 255
Содержимое Content   Text  
Номер в списке Morder   Tinyint 4
Заголовок Title   Varchar 255
Мета-данные Tmeta   Varchar 255
Путь  к внешнему файлу Extpath   Varchar 255
Сообщение перед списком Topmsg   Text  
Флаг  формы отправки сообщения Is_umsg   Tinyint 1
Флаг  вертикального расположения Is_vertical   Tinyint 1
Уникальный  ключ старшего элемента Parent_id   Tinyint 4
Сообщения пользователей (UsrMsg) Уникальный  ключ сообщения Umsg_id * Tinyint 4
Адрес электронной почты Email   Varchar 255
Сообщение Tmsg   Text  
Флаг  нового сообщения Is_new   Tinyint 1
Дата  отправки UsrDate   Date  
Права доступа (Roles) Уникальный  ключ прав доступа Role_id * Tinyint 4
Наименование Rolename   Varchar 255
Права доступа Access   Varchar 255
Пользователи  (Users) Уникальный ключ пользователя User_id * Tinyint 4
Логин пользователя Ulogin   Varchar 255
Пароль  пользователя Upwd   Varchar 255

 

     Для создания базы данных используется команда  CREATE DATABASE.

     Таблицы создаются с помощью команды CREATE TABLE. Полный текст команд для создания базы данных динамического сайта находится в Приложении 2.

     Взаимодействие  с базой данных осуществляется посредством  PHP команд:

        $link = mysql_connect("localhost", "root", "")

            or die("Невозможно соединится с базой данных : " . mysql_error());

        mysql_select_db("tochka") or die("Невозможно  выбрать базу данных!");

     где

     localhost – хост, к которому происходит обращение;

     root – имя пользователя базы данных, в следующих за ним кавычках указывается пароль к базе данных.

     В случае если установить соединение с базой данных по каким-либо причинам не удалось (например, нет доступа к Internet или возникли неполадки на стороне сервера), будет выведено сообщение.

     Динамичность  сайта обеспечивается хранением  информации, размещаемых на страницах  сайта и навигации в базе данных. Когда пользователь обращается к странице сайта, на сервере формируются запросы к базе данных. С учетом результатов запросов страница формируется определенным образом. Для добавления пунктов навигации и/или редактирования содержимого страниц необходимо внести изменения в базу данных.

     3.5. Физическая реализация  динамического сайта  для ЗАО «Точка  Оплаты»

     Динамический  сайт реализован с использованием объектно-ориентированного программирования.

     Все ссылки сайта имеют вид http://хост/index.php?id=число, где id – уникальный ключ записи о пункте меню в базе данных.

     Для реализации динамического сайта  был определен класс Page, и соответствующий ему конструктор Page($menuid), которому в качестве параметра передается id пункта, выбранного посетителем сайта. По умолчанию этот параметр равен 1, что соответствует странице «О компании».

     При обращении к сайту происходит следующая последовательность действий:

  1. Проверяется, установлен ли параметр id.
  2. Если параметр установлен, создается объект nPage() класса Page.
  3. Конструктор объекта отправляет запрос к базе данных, по результатам запроса присваивает свойствам объекта значения.
  4. При формировании страницы выводится свойство Title, затем Meta.
  5. Вызывается метод ShowMenu() объекта nPage для формирования навигации сайта по результатам запроса к базе данных.
  6. Формируется содержание сайта с учетом свойств объекта nPage;
    1. если у страницы имеются дочерние пункты, они выводятся списком справа;
    2. если дочерние пункты не содержат описания, но у них указан путь к внешнему файлу, справа отображается содержимое внешнего файла;
    3. если у страницы установлен флаг сообщения пользователя, на экране отображается форма для заполнения.

     После окончания формирования, страница отправляется браузеру клиента.

     Полное  описание класса Page приведено в Приложении 3.

     3.5.1 Реализация дизайна  динамического сайта  для ЗАО «Точка  Оплаты»

     Дизайн  сайта выполнен с использованием языка гипертекстовой разметки документа  HTML с ипользованием каскадных таблиц стиля CSS. Дизайн сайта выполнен в соответствии с рекомендациями W3C(World Wide Web Consortium - Консорциум Всемирной паутины).В частности, не рекомендуется для позиционирования элементов страницы теги, предназначенные для разметки табличных данных. Для задания расположения следует использовать специальные теги - контейнеры, то есть тэги <div></div>. Так же рекомендуется для оформления сайта использовать каскадные таблицы стилей.

     При реализации дизайна динамического  сайта были использованы фирменные  цвета ЗАО «Точка Оплаты» - красный  и оранжевый. Для лучшего восприятия текстовая информация расположена на белом фоне. Навигация сайта расположена сверху слева. Сайт реализован с минимальным использованием  графического содержимого, что позволяет достаточно быстро получить информацию даже при низкоскоростном соединении с сетью Интернет. Главная страница сайта представлена на рисунке 13.

Рис. 13 Главная  страница динамического сайта для  ЗАО «Точка Оплаты»

     Страница  «Терминалы оплаты»  представлена на рисунке 14.

Рис. 14 Страница «Терминалы оплаты» динамического сайта

     Страница  «Партнерам» представлена на рис. 15.

Рис. 15 Страница «Партнерам» динамического сайта 

Страница  «Клиентам» представлена на рис.16.

Рис. 16 Страница «Клиентам» динамического сайта  для ЗАО «Точка Оплаты»

Страница  «Контакты» представлена на рис. 17.

Рис.17 Страница «Контакты» динамического сайта

    3.5.2 HTML-форма отправки сообщения

     Форма является единственным средством, которое  предоставляет пользователю возможность  вводить данные в Web-документы без  помощи каких-либо программ.

     При реализации динамического сайта  для ЗАО «Точка Оплаты» были использованы следующие элементы форм:

  1. Поле ввода.
  2. Область текста.

     Поле  ввода (text-field) применяется главным  образом для ввода алфавитно-цифровых данных. Поле ввода создаётся при  помощи тега <INPUT TYPE="Text">.

     Область текста (text-area) - это элемент формы, подобный полю ввода, но с возможностью ввода нескольких строк текста. Для  создания области текста используется тег <TEXTAREA>, а для определения  её размеров - атрибуты ROWS и COLS.

     HTML-форма, реализованная при разработке динамического сайта ЗАО «Точка Оплаты» представлена на рисунке 14.

Рис. 14 HTML-форма

    3.5.3 Обеспечение безопасности  динамического сайта  для ЗАО «Точка  Оплаты»

     Все данные, отправляемые пользователями на сервер, должны быть проверены как во избежание внесения некорректной информации, так и для предотвращения попыток взлома динамического сайта ЗАО «Точка Оплаты».

     Для защиты от атак типа внедрения SQL-кода, входной параметр id, получаемый сервером для формирования SQL запросов, приводится к целочисленному типу:

     $id=@$_GET["id"];

     if (isset($id)){ $id=intval($id);}

     Таким образом, злоумышленник не сможет выполнить  произвольный запрос к базе данных, используя этот параметр.

     При отправке сообщения посетителя сайта  так же существует возможность внедрения SQL-кода. Для предотвращения этого, адрес электронной почты и само сообщение проходят предварительную проверку:

  1. Адрес электронной почты проверяется на соответствие регулярному выражению типа (/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i).
  2. В сообщении пользователя перед внесением в базу данных экранируются все спецсимволы командой mysql_real_escape_string.

     Зачастую  в некоторых директориях отсутствуют  файлы index.html (или другие index.*, интерпретируемые как стартовые). При наборе в адресной строке такого адреса на директорию без index.* файла, злоумышленнику прямо в браузере откроется все содержимое папки со всеми возможными последствиями (в зависимости от того, что там храниться). Для того, чтобы предотвратить такую ситуацию, в каждую папку на сервере помещен файл index.php. В самом файле находится перенаправление на стартовую страницу сайта:

     <html>

     <head>

     <?

        $path = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

           $path_array = explode('/',$path);

           $path_array = array_slice($path_array, 0, count($path_array) - 2);

           $mpath = implode('/',$path_array);

     ?>

     <META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://<?echo $mpath;?>">

     </head>

     <body></body>

     </html>

     При попытке зайти в любую папку, произойдет перенаправление на главную  страницу сайта.

      Выводы

     В главе были проанализированы и выбраны  программные средства для реализации динамического сайта ЗАО «Точка Оплаты». Для работы с базой данных была выбрана СУБД MySQL. Основными критериями выбора web-сервера Apache были распространенность среди хостинг-провайдеров, быстродействие и надежность.

     Было  описано физическое проектирование базы данных - в СУБД MySQL была создана база данных.

     Коды  SQL-запросов для создания базы данных приведены в Приложении 2.

     Осуществлена  программная реализация динамического сайта для ЗАО «Точка Оплаты».

 

      ЗАКЛЮЧЕНИЕ 

     В результате выполнения дипломной работы был разработан динамический сайт для  ЗАО «Точка Оплаты».

     Был проведен анализ предметной области.

     Описана классификация сайтов по типу содержимого. Так же описана классификация сайтов по типу реализации.

     Проанализирована  целесообразность создания динамического  сайта 

     В ходе работы был проведен обзор аналогов - нескольких российских сайтов. Были выявлены их сильные и слабые стороны, которые учитывались при разработке и реализации динамического сайта ЗАО «Точка Оплаты». При анализе рассматриваемых web-сайтов оценивался внешний вид web-страниц, навигация по ним, структура.

     На  основе проведенного анализа были сформулированы требования к разрабатываемому динамическому сайту, которые необходимы для создания конкурентоспособного программного продукта: требования к дизайну страниц, функциональности, к принципам работы и расположению информации. Дизайн сайта разработан в соответствии с требованиями заказчика с учетом рекомендаций W3C.

Информация о работе Разработка динамического сайта для предприятия