Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Особенности алгоритмизации при работе WEB-приложений

Содержание:

ВВЕДЕНИЕ

Тема выпускной квалификационной работы: «Особенности алгоритмизации при работе web-приложений». Цель КР – рассмотреть особенности алгоритмизации при работе web-приложений. Данная цель реализуется посредством решения следующих задач:

  • изучить теоретические аспекты проектирования веб- приложений;
  • рассмотреть современные тенденции разработки сайтов;
  • определить принципы проектирования сайтов;
  • изучить вопрос организации системы информационной безопасности и защиты информации на сайте;
  • выбрать средств разработки сайта на примере;
  • разработать структуру базы данных;
  • выводы по работе.

Представленная работа состоит из двух глав. В первой главе «Теоретические аспекты проектирования веб-приложений» рассматривается современные тенденции разработки сайтов; определяются принципы проектирования сайтов; изучается вопрос организации системы информационной безопасности и защиты информации на сайте.

Во второй главе пример алгоритмизации при работе web-приложений.

При работе с алгоритмами (а в последующем и с программами) следует стремиться продумать все детали до самой мелкой. В последующем выявление каждого непроработанного участка кода приведёт только к дополнительным работам, увеличению затрат на разработку и сроков выполнения задачи. Тщательное планирование и проработка всех нюансов позволит значительно сэкономить время, усилия и деньги. Что ж, сейчас могут сказать, что после прочтения данной статьи у вас есть понятие про основы алгоритмизации и программирования. Осталось только применить эти знания.

1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОЕКТИРОВАНИЯ ВЕБ-ПРИЛОЖЕНИЙ

1.1 Современные тенденции разработки сайтов

Развитие разработки веб-приложений на примере сайтов на современном этапе находится под влиянием, в первую очередь, бизнес-целесообразности, стремления заказчиков получать экономные и эффективные решения. Заказчики и разработчики стремятся учесть и совместить в сайте многие задачи и «заставить» сайт работать по нескольким направлениям: как имиджевое интернет-представительство, и как продающий сайт [9].

Сайт используется не только для коммерческих, но и для информационных целей. Причины, по которым компании заказывают профессиональное создание сайта это:

  • Информирование партнеров и клиентов о деятельности компании и всех изменениях в компании;
  • Демонстрация уже выполненных работ (так называемое портфолио) или ассортимента товаров;
  • Продвижение бизнеса в интернете;
  • Привлечение новых клиентов;
  • Разработка уникального ресурса в сфере деятельности.

Веб-разработка для компании позволяет сделать ресурс с возможностью изменить его функционал в соответствии с изменениями на самой фирме: можно модернизировать имеющиеся модули или добавлять новые при необходимости.

Продвижение сайта в поисковых системах ресурса компании осуществляется по большому количеству запросов (порой счет идет на сотни запросов для продвижения), что помогает привлечь внимание широкой аудитории и раскрутить бизнес в сети.

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

Основой проектирования является грамотная компоновка страниц, логичная структура и навигация. Навигационная панель должна быть легкодоступна и проста в обращении, при этом она должна вписываться в концепцию внешнего вида всего проекта. Основа интерфейса – это графика, она требует осторожности в обращении. Именно графика накладывается на функциональность веб-ресурса. Особенности размещения графических элементов [27]:

  • Обилие элементов на сайте может вызвать раздражение у посетителей, особенно в том случае, когда ее отдельные элементы резко контрастируют геометрически или же не вписываются в цветовую гамму;
  • Графика не должна влиять на скорость загрузки страниц, не каждый пользователь будет ждать окончания загрузки страницы несколько минут;
  • Баланс «графика-текст» должен соблюдаться таким образом, чтобы оформление не влияло на читабельность текста.

Одна из самых больших ошибок веб-дизайнеров – это или полное отсутствие графики в готовом дизайне, или, напротив, ее избыток. Оформление должно служить функциональности. Интерфейс должен быть не только эксклюзивным, при его разработке должна учитываться логическая взаимосвязь текста и его оформления.

Типы графических вставок, используемые на веб-страницах:

  • Навигационные кнопки. Помогают посетителям легко перемещаться по разделам. При хорошем оформлении способны привлечь большее внимание, чем обычные текстовые ссылки;
  • Разработка логотипа компании, выверенный фирменный стиль, помогает увеличить узнаваемость бренда или торговой марки;
  • Маркеры списков. Они привлекают внимание пользователей к наиболее важной информации. Часто они используются для разделения абзацев в тексте;
  • Графические заголовки позволяют использовать любые нестандартные шрифты, которых может не быть на компьютере пользователя.

Главная страница сайта – наиболее посещаемая на ресурсе и является точкой входа. Отрисовка интерфейса, в т.ч. и создание адаптивного дизайна сайта начинается именно с разработки главной страницы. Основная суть её оформления – рассказать о компании-владельце, о преимуществах перед конкурентами, дать представление о деятельности фирмы (вкратце рассказать о товарах или услугах) [29].

В том случае, когда посетитель приходит через поисковую систему, например, на выкладку каталога, все равно рано или поздно он выйдет на главную страницу ресурса.

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

С другой стороны, есть категория сайтов, задача которых – именно произвести впечатление своей красотой (например, веб-ресурс известного модельера, салона красоты или компании, занимающейся продажей элитной недвижимости), здесь различные украшения и интерактив оправданы и даже необходимы.

Но в большинстве, корпоративные сайты носят информационный характер. Главная страница для таких ресурсов – это своего рода рекламный буклет предприятия.

Именно дизайн главной страницы подталкивает (или не подталкивает) пользователя к дальнейшей работе с сайтом. Основные качества [31]:

1. Информативность. Посетитель при первом же взгляде должен понять, что он попал по адресу и получит необходимые услуги:

  • чем занимается компания;
  • где можно найти ответ на поисковый запрос, по которому он пришел;
  • можно ли доверять ресурсу;
  • как перемещаться по меню.

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

3. Визуальная привлекательность. При разработке веб-дизайна главной страницы сайта, нужно чтобы интерфейс нравился целевой аудитории Интернет-проекта. Внешний вид должен соответствовать ожиданиям клиентов бизнес-отрасли.

4. Уникальное торговое предложение (УТП)

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

5. Фото и видео. Для оформления нужно использовать фотографии и видео-контент, что придаст главной странице еще большую визуальную значимость и эстетическую привлекательность.

6. Текстовая информация. Если говорить про тексты, то большинству корпоративных сайтов, для повышения релевантности при поисковом ранжировании, текст необходим. Текстовая информация используется для того, чтобы описать преимущества компании, её продукции, разместить отзывы. Текстовые блоки можно оформлять иконками и современной инфографикой.

7. Целевые кнопки

Пользователь может захотеть погрузиться в глубины сайта и там еще что то поискать, но желательно дать ему возможность совершить покупку, оформить заказ, оформить подписку и др. не уходя с главной страницы. Это важно, поскольку поисковые системы оценивают время, проведенное пользователем на главной странице как весомый положительный фактор в части SEO раскрутки.

8. Каталог продукции. Для корпоративного сайта, нацеленного на продажи товаров и услуг, можно оформить выкладку товаров из каталога на главной странице, например, товары со скидками, акции, новинки, хиты продаж и самые популярные торговые предложения [28, с. 105].

1.2 Принципы проектирования сайтов

Сайт – необходимый атрибут среднего и крупного бизнеса, а также уникальный инструмент для командной работы над задачами и проектами, для ведения CRM-баз данных и документооборота, для эффективных внутренних коммуникаций и PR-кампаний. Виртуальное представительство предприятий и организаций в Глобальной сети стало массовым не так давно, однако быстро нашло отклик у широкой аудитории. Сегодня многофункциональный сайт есть у любой компании, которой не чужды понятия фирменного стиля и корпоративной культуры. Многочисленные исследования показывают, что грамотное использование интернет-ресурса позволяет получить конкурентное преимущество за короткое время и с минимумом дополнительных вложений. При этом сайт может работать на любую цель: повышение имиджа, расширение географии продаж, привлечение инвестиций и др. Однако ожидать эффекта следует только от профессионально подготовленного ресурса [34].

Сайт – это интернет-ресурс, на котором представлена подробная информация о деятельности организации или предприятия: описание услуг, история развития, условия сотрудничества, онлайн-сервисы, открытые вакансии, интересные предложения, новости и прочие факты и события, отражающие деятельность компании. Вся информация, представленная на сайте, обычно собрана в управляемую единую базу данных. От одностраничного сайта или лендинга корпоративный сайт отличается многоуровневой структурой и большими объемами информации, а также следующими возможностями:

  • интеграция во внутреннюю корпоративную сеть;
  • ведение документооборота и бухгалтерии;
  • управление и визуализация бизнес-процессов;
  • расширенное управления почтовым сервером, работающим по протоколу POP3;
  • кластеризация веб-ресурса, т.е. его географического распределения на нескольких серверах в целях улучшения доступности портала и его масштабирования при больших нагрузках;
  • автоматическая отправка сообщений (Push & Pull);
  • полная интеграции с мобильными версиями интернет-магазинов;
  • A/B тестирования на предмет конверсии, при изменениях в архитектуре и дизайне сайта;
  • расширенная веб-аналитика, необходимая для успешного проведения маркетинговых мероприятий и др.

Формально создание любого сайта состоит из нескольких типовых этапов. Успешность же ресурса зависит от того, насколько тщательно, творчески, технически грамотно каждый из них был пройден. Классические этапы разработки сайта [50]:

1. Бизнес-аналитика. Это формулировка целей и предпроектные исследования: анализ целевой аудитории, конкурентов, конкурентных преимуществ заказчика. Формирование бюджета.

2. Создание ТЗ. Это детальный план работы, утверждение решений по дизайну и особенностям программирования. На рисунке 1 представлена примерная схема разработки концепции контента и дизайна, подчиненных готовой бизнес-модели.

Рисунок 1 – Методика разработки успешного сайта для достижения цели

Рисунок 2 – Примеры отображения структуры сайтов

3. Создание структуры. На этом этапе продумывается структура сайта. На рисунке 2 представлены примеры структуры корпоративных сайтов. Обычно для корпоративных сайтов используется иерархическая структура: главная страница, с которой можно попасть на остальные страницы. Внутри подчиненных страниц возможны ссылки на другие подчиненные страницы – это делает сайт более интерактивным [44].

4. Прототипы (адаптивные). Расположение элементов и блоков с учетом выбранного макета верстки. Позволяют быстро согласовать все детали проекта и избежать ошибок на стадии дизайна [49].

5. Дизайн (адаптивный). Визуальная составляющая для сайтов и порталов важна особенно. От внешнего вида зависит первое впечатление и заинтересованность клиента в фирме или в продукте фирмы. Графическую концепцию обычно отрабатывают на примере главной страницы.

6. Верстка (UI элементная база). Верстка HTML-страниц сайта на основе дизайна, то есть перевод в HTML-код. Правильно сверстанный сайт одинаково работает во всех браузерах и при любых разрешениях экрана.

7. Разработка (программирование). На сервер устанавливают систему управления контентом, в код вносят требуемые правки. Производят настройку и программирование модулей. На страницах появляется интерактив: ссылки, формы, кнопки и т.д.

8. Интеграция (корпортал + CRM-базы данных и телефония + автоматизированный документооборот и учет и прочие). Интегрируется система управления, производится настройка сервера и системы безопасности хранения баз данных.

9. Создание контента. Если тексты, фото, видео предоставляет заказчик, ему следует позаботиться о своевременной их подготовке.

10. Правильное размещение контента. Изображения и анимация не должны отвлекать от текста, текст должен быть разделен на блоки, легко читаем.

11. Проработка SEO. SEO-адаптивные сайты изначально нацелены на продвижение и быстрее поднимаются в топ поисковой выдачи.

12. Настойка серверов (хостингов). На этом этапе проводят тестирование ресурса и оценку его работоспособности. Исправляют ошибки в коде и некорректную верстку, проверяют контент на уникальность.

На стадии запуска работа не заканчивается. Сегодня мало просто создать корпоративный сайт с удобной структурой и навигацией – нужно добиться высокой посещаемости, продвигая ресурс в поисковиках, каталогах, социальных сетях, занимаясь рекламой в Интернете. Планировать продвижение следует еще на стадии написания ТЗ, поэтому важно, чтобы разработчик был компетентен в вопросе оптимизации. Любые ошибки, допущенные на ранних этапах, в будущем обойдутся очень дорого.

Стоимость изготовления корпоративного сайта зависит от объемов работ, сроков и уровня профессионализма исполнителя. На практике разброс цен на создание корпоративных сайтов под ключ велик: от 20 тысяч до 3,5 миллионов рублей. Взяв за основу уровень исполнения, условно можно выстроить классификацию следующим образом:

  • «Студенты»: люди без опыта реализации успешных проектов, любители. За все этапы отвечают 1–2 человека. Таковых на рынке более 80%. Цена сайта – от 20 до 100 тысяч рублей;
  • «Претенденты»: специалисты с минимальным опытом, выполняющие сразу несколько функций. Цена работы – от 100 до 200 тысяч рублей;
  • «Профессионалы»: профессиональные разработчики, гарантирующие высокое качество и своевременные сроки исполнения. Цена – от 200 до 700 тысяч рублей;
  • «Элита»: веб-студии. Цена – от 700 до 3,5 миллионов рублей [8].

1.3 Информационная безопасность и защита информации на сайтах

Безопасность веб-приложений – один из наиболее острых вопросов в контексте информационной безопасности. Как правило, большинство веб-сайтов, доступных в Интернете, имеют различного рода уязвимости и постоянно подвергаются атакам. Рассмотрим основные угрозы информационной безопасности веб-сайтов [7]:

  • угрозы конфиденциальности – несанкционированный доступ к данным;
  • угрозы целостности – несанкционированное искажение или уничтожение данных;
  • угрозы доступности – ограничение или блокирование доступа к данным.

Основным источником угроз информационной безопасности веб-приложения являются внешние нарушители, т.е. хакерские атаки. Хакерская атака может иметь конечную цель, быть целевой атакой, либо атака носит бессистемный характер. В первом случае злоумышленник может выявлять максимально возможное количество векторов атаки для составления и реализации потенциально успешных сценариев взлома, во втором же объекты атакуются массово, обычно используют несколько поверхностных уязвимостей.

Целями злоумышленников чаще всего становятся сайты банков, мобильных операторов, известные медиапорталы, правительственные учреждения. Объясняется это тем, что взлом таких сайтов, во-первых, может помочь заработать немалые деньги, а во-вторых, дать доступ к важной информации. Подвергаются взлому и те сайты, аудитория которых ежедневно составляет несколько тысяч посетителей. Но владельцам небольших сайтов не стоит заблуждаться и чувствовать себя в безопасности. Мелкие сайты нередко используются как плацдарм для тренировок перед взломом больших или для нецелевых атак, когда атакуются сразу сотни или тысячи ресурсов, выбранных по определенному критерию. Есть мнение, что каждый третий сайт находится под наблюдением посторонних людей, которые изучают его уязвимости и в любой момент могут совершить взлом. А значит, главная задача владельца – максимально защитить сайт от всех возможных угроз, чтобы не потерять важную информацию и собственные деньги. Рассмотрим основные виды угроз. Угрозы безопасности связаны с несколькими факторами [15]:

  • уязвимости веб-приложений или их компонентов;
  • используемые механизмы проверки идентификации;
  • атаки на самих пользователей, клиент-сайд атаки;
  • утечка или разглашение критичной информации;
  • логические атаки.

Уязвимости веб-приложений, как правило, приводят к выполнению кода на удаленном сервере. Все серверы используют данные, переданные пользователем при обработке запросов. Часто эти данные используются при составлении команд, применяемых для генерации динамического содержимого. Если при разработке не учитывались требования безопасности, злоумышленник получает возможность модифицировать исполняемые команды.

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

Во время посещения сайта, между пользователем и севером устанавливаются доверительные отношения, как в технологическом, так и в психологическом аспектах. Пользователь ожидает, что сайт предоставит ему легитимное содержимое. Кроме того, пользователь не ожидает атак со стороны сайта. Эксплуатируя это доверие, злоумышленник может использовать различные методы для проведения атак на клиентов сервера. Такого рода атаки могут быть задействованы как в сложных сценариях атаки (watering hole, drive by), так и в более привычных клиент-сайд атаках, например XSS.

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

Имеется два основных вида атак на веб-приложения: целевые и нецелевые атаки. Целевые атаки – это атаки, специально нацеленные на один сайт или их группу, объединенную одним признаком (сайты одной компании, либо сайты, относящиеся к определённой сфере деятельности, либо объединенные рядом признаков). Опасность таких атак заключается именно в «заказном» характере. Исполнителями таких атак становятся, как правило, злоумышленники, обладающие высокой квалификацией в области безопасности веб-приложений. Целью таких атак обычно является получение конфиденциальной информации, которая может быть использована недобросовестными конкурентами или преступниками для получения прибыли.

Нецелевые атаки – это атаки, которые проводится фактически «на удачу», а ее жертвами становятся случайные веб-сайты независимо от популярности, размера бизнеса, географии или отрасли. Нецелевая атака на сайт – это попытка получения несанкционированного доступа к веб-ресурсу, при которой злоумышленник не ставит целью взломать конкретный сайт, а атакует сразу сотни или тысячи ресурсов, отобранных по какому-то критерию. Например, сайты, работающие на определенной версии системы управления сайтом. Такого рода атаки бьют по «площадям», стараясь охватить максимальное количество сайтов при минимуме затрат. При удачной попытке атаке злоумышленник старается извлечь из этого пользу: закрепиться на сайте, загрузив хакерский скрипт (бэкдор, веб-шелл), добавить еще одного администратора, внедрить вредоносный код или получить необходимую информацию из базы данных.

Успешное осуществление атаки грозит большими потерями. В первую очередь это несет угрозу работоспособности сайта. Во вторую, но не менее важную, – сохранность пользовательских данных. Из этих причин вытекает логичное следствие – финансовые и репутационные потери компании.

Хакеры используют сайт для атак на другие ресурсы, в качестве опорного плацдарма, для рассылки спама или проведения DoS атак. Зараженный сайт блокируют поисковики и браузеры, сайт теряет пользователей. Атака на веб-сайт в корпоративной среде может является точкой входа в корпоративную сеть компании. Атаки на системы электронной коммерции могут быть использованы для совершения мошеннических действий, похищения клиентских баз и т.д. Также, все эти атаки могут быть нацелены на дальнейшее «заражение» пользователей сайта [25].

Сам термин «уязвимость» – это перевод английского слова vulnerability, он означает недостаток в коде сайта или программном обеспечении, используя который можно нарушить работу системы. Часто появление уязвимости бывает вызвано ошибками программирования, недостатками при проектировании сайта или ненадежными паролями. Уязвимости позволяют атакующему заставить интернет-приложение совершить действия, на которые у того нет прав. К основным типам уязвимостей относятся следующие:

  • недочеты системы аутентификации и управления сессией;
  • небезопасные прямые ссылки на объекты;
  • небезопасная конфигурация;
  • утечка чувствительных данных;
  • отсутствие контроля доступа к функциональному уровню;
  • использование устаревших компонентов;
  • невалидированные редиректы (несанкционированные перенаправления);
  • кликджекинг (использование невидимых элементов).

Это далеко не полный перечень, к тому же постоянно появляются все новые и новые уязвимости.

1. Кража паролей.

Первая причина взлома – это кража пароля к аккаунту или административной части сайта. Это может случиться из-за вируса, устаревшей версии браузера, с которого введен пароль или даже из-за того, что пароль был слишком простым – хакеры без труда его подобрали. В результате кражи пароля злоумышленники получают доступ к сайту и большой простор для мошеннических манипуляций. Например, с сайта может рассылаться спам.

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

2. Взлом через хостинг-провайдера Нередко взломы сайтов происходят по вине хостинг-провайдера [11].

3. Взлом CMS Для управления контентом, структурой и дизайном сайта используются системы управления сайтом. Как и все виды ПО, CMS содержит уязвимости, через которые ее можно взломать. Особенно эта угроза актуальна для популярных систем, поскольку их взлом дает возможность взломать сразу десятки тысяч сайтов по всему миру. Используя уязвимости системы, хакеры могут размещать на сайте код, заражающий компьютеры посетителей вредоносными программами, публиковать контент сомнительного содержания или перенаправлять пользователя на другие сайты с таким контентом. Репутация сайта в этом случае серьезно страдает, из-за чего существенно уменьшается количество посетителей.

4. Взлом сайта через модули и компоненты вне CMS.

Большинство CMS в «чистом виде» взломать довольно сложно. Опасность кроется во всевозможных расширениях – компонентах, плагинах, модулях, создаваемых сторонними разработчиками. Например, при установке компонента комментариев, в котором есть уязвимость, хакер получит возможность вместо комментария залить на сайт специальный скрипт и совершить взлом.

5. SQL-инъекции. SQL-инъекция – это уязвимость, возникающая при недостаточной проверке и обработке передаваемых от пользователя данных. Она дает возможность хакерам модифицировать и даже выполнять не предусмотренные кодом программы запросы путем внедрения вредоносного кода в запрос к базе данных. Результатом является получение доступа к данным, к которым в обычных условиях доступ запрещен. Использование этой уязвимости позволяет осуществлять кражу данных, их подмену или уничтожение и провоцировать отказ в обслуживании (DDoS).

Список защитных мер [17]:

1. Регулярно, не реже двух раз в год, нужно менять все пароли к хостингу, FTP/SSH и админ-панели. Использовать только сложные, нестандартные наборы символов (оптимально 8-12 знаков в пароле). Хранить их лучше в специализированных программах.

2. Ограничивать доступ к админ-панелям. Это достигается путем регулярной смены паролей и установке ограничения доступа по IP или при помощи дополнительной веб-авторизации.

3. Использовать только проверенные плагины и расширения. Плагины и модули могут уже изначально содержать вредоносный код или иметь критическую уязвимость. Это даст злоумышленнику возможность полностью управлять сайтом.

4. Регулярно обновлять CMS, патчи безопасности и модули к ним. В актуальных версиях разработчики устраняют выявленные в них критические уязвимости.

5. Защищать соединение между сайтом и компьютерами. желательно отдавать предпочтение SSH/SFTP. А также использовать на сайте SSL-сертификаты. Помимо защиты, SSL-сертификат обладает еще одним явным преимуществом – он значительно повышает доверие к сайту и повышает его рейтинг в поисковой выдаче.

6. Создавать и проверять резервные копии сайта. Необходимо проверять, создаются ли резервные копии хостинг-провайдером и не имеют ли они ошибок. Случается, что копии оказываются битыми. Поэтому желательно делать дополнительное резервное копирование в облако.

7. Установить запрет на запись в файлы и папки, которые не меняются при работе скриптов. Это необходимо сделать с теми внутренними файлами сайта, которые практически всегда остаются без изменений, и которые редко открываются. Это защитит сайт от незаметного размещения вредоносного кода.

8. Использовать сервис для мониторинга безопасности сайтов. Он позволяет выявить проблему с безопасностью сайта быстрее поисковых систем, тем самым дать время на исправление проблемы до блокировки сайта.

2 ВЫБОР СРЕДСТВ РАЗРАБОТКИ САЙТА

Для разработки корпоративного сайта необходимо выбрать средства: систему управления контентом (CMS, Content Management System), систему управления базой данных (СУБД), хостинг для физического размещения сайта и доменное имя для сайта. Данные средства с одной стороны имеют совершенно разную основу работы, с другой стороны – они должны быть взаимосвязаны. Например, не все хостинги поддерживают любые CMS или СУБД; не каждая СУБД подойдет для обслуживания CMS и др. Поэтому выбор средств разработки сайта должен осуществляться довольно тщательно и согласовываться с другими компонентами.

Система управления контентом (CMS) – это специальная программа, которая представляет собой основу или «движок» сайта, на которой разрабатывается и функционирует ресурс, находясь в сети интернета. В огромной степени от движка будет зависеть то, насколько надежным и безопасным будет вебсайт, удобным ли будет управление, продвижение, манипуляции с контентной информацией, расширение структуры и т.д. [24].

Условно CMS можно поделить на две части: шаблон визуального оформления страницы и базу данных, в которой хранится вся текстовая и мультимедийная информация. После получения запроса пользователя CMS формирует страницу, заполняя шаблон нужной пользователю информацией. Кроме того, движок защищает сам веб-ресурс и обеспечивает надежную защиту информации пользователей.

Существует множество вариантов классификации CMS, но иногда деление бывает не всегда однозначным. Даже такая простая классификация, как на платные и бесплатные CMS. Все CMS можно разделить на две большие группы: платные (коммерческие, коробочные) и бесплатные (свободные, некоммерческие) движки. Но в тоже время многие платные CMS имеют бесплатную начальную версию, это называется условно платные, а в рамках бесплатных CMS, разрабатываются платные версии или дополнительные платные инструменты – плагины, модули и др.

Тем не менее, у каждого вида CMS имеются свои достоинства и недостатки (см. таблицу 1). Особенности платных CMS:

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

Особенности бесплатных CMS [20]:

  • высокая функциональность, возможность добавить новые бесплатные модули и плагины;
  • многие бесплатные CMS имеют открытый код. Сторонние разработчики могут вносить коррективы в движок, исправлять ошибки и публиковать свою версию программы. Таким образом, поиск и исправление ошибок в CMS производится очень быстро;
  • для настройки большинства бесплатных CMS пользователь должен обладать базовыми знаниями верстки, работы с базами данных и знать основы программирования. Более того, владельцу ресурса нужно знать основы веб-дизайна: понимать, что такое адаптивный дизайн, кросс-браузерность и пользовательский интерфейс;
  • бесплатные CMS c хорошей документацией и службой поддержки пользователей встречаются реже, чем в платных;
  • главное достоинство – это бесплатность.

Таблица 1 – Преимущества платных и бесплатных CMS

Критерии сравнения

Платные CMS

Бесплатные CMS

1

Стоимость CMS

Высокая

Бесплатно

2

Стоимость плагинов и модулей

Высокая или средняя

Бесплатно или средняя

3

Новые релизы

Средний уровень

Частые обновления и исправление ошибок

4

Уровень безопасности

Высокая

Высокая или средняя

5

Установка и настройка

Легкая

Средняя или легкая

6

Документация

Официально разработанная высокого уровня

Средняя или слабая

7

Техническая поддержка

Официальная служба поддержки

Интернет-форумы

Таким образом, у платных CMS нет особых преимуществ и на бесплатных CMS создается множество профессиональных сайтов. Но задача выбора движка не намного упрощается, т.к. и в группе бесплатных CMS – их большое количество, из которого нужно выбрать достойный движок. Для этого можно использовать результаты различных рейтингов. Если посмотреть рейтинги последних лет, то они достаточно предсказуемы. Некоторые CMS меняются местами в рейтинге, но, тем не менее, остаются в первой десятке. На рисунке 3 представлен рейтинг бесплатных CMS [35].

Рисунок 3 – Рейтинг бесплатных CMS

Рассмотрим краткие характеристики самых распространенных бесплатных CMS.

WordPress (WP) – самая популярная CMS на сегодняшний день. Изначально это была инновационная блог-платформа, которая сформировала интернет-среду, увеличивая потребность в специалистах по веб-дизайну под WordPress. Преимущества WordPress:

  • популярность, востребованность. Многие пользователи знакомы с ней, и им не сложно работать в рамках данной платформы;
  • удобный интерфейс, большой выбор тем для оформления, плагинов, вариантов языкового оформления, каталогов и т.д.;
  • имеется редактор WYSIWYG, способный оказать существенную помощь для тех, кто не владеет языками веб-программирования;
  • очень простая в использовании админ-панель, из которой можно производить редактирование PHP и CSS файлов;
  • постоянное развитие. WordPress создали профессиональные разработчики. Они (совместно с тысячами волонтеров-энтузиастов во всем мире) до сих принимают участие в постоянных улучшениях «движка». После каждого релиза CMS становится быстрее, удобнее, безопаснее.

Второе место в рейтинге по популярности занимает Drupal, причем поднялась на второе место совсем недавно, пока не намного обогнав Joomla. Очень мощная программа, понятный для разработчиков интерфейс. Создавать сайты с его помощью Drupal сложнее, чем с Joomla или WordPress.

Преимущества Drupal:

  • богатый функционала, который дает возможность создать сайт любого уровня сложности для любой цели;
  • высокий уровень безопасности (без каких-либо сложных настроек и установки дополнительных модулей).;
  • данные можно конструировать в разных вариантах отображения (модули CCK и VIEWS);
  • удобная оптимизация не требующая дополнительных установок, SEO-настройки доступны в стандартной комплектации CMS;
  • можно составлять иерархию контента, выстраивать его по признакам, категориями;
  • позволяет создавать на сайтах пользовательские блоги, форумы, содержит другие фичи, расширяющие возможности сайтов;
  • гибкие настройки прав пользователей. Можно выбирать какими именно возможностями обладает каждый пользователь (у многих других CMS этот набор возможностей стандартный);
  • большое количество готовых мощных бесплатных решений;
  • адаптация для мобильных устройств. Начиная с 8-й версии, все темы прекрасно отображаются на всех популярных мобильных девайсах.

Недостатки Drupal:

  • непонятен для новичков, сложен в использовании. Необходимо приобрести специальные навыки, чтобы совершить кастомизацию модулей;
  • платформа работает только на технически продвинутом оборудовании, система сложная и требует большого количества ресурсов [26, с. 654].

Третье место в рейтинге популярных CMS для сайтов принадлежит системе Joomla. Продукт занимает среднее место между сложной программой Drupal, обладающей огромными возможностями и ориентированной на профессионалов, и очень простой в обращении платформой WordPress. Joomla имеет очень удобный интерфейс и другие положительные стороны.

Преимущества Joomla:

  • простой, но полноценный инструмент для разработки сайтов;
  • поддерживает протоколы контроля доступа (OpenID, LDAP, Gmail.com);
  • многофункциональная панель администрирования с богатым набором шаблонов, стилей и вариантов меню;
  • не сложная в установке;
  • довольно привлекательный дизайн;
  • имеются удобные многофункциональные приложения для создания интернет-магазинов разной сложности;
  • сайты можно оптимизировать без дополнительных плагинов;
  • в движке сразу доступно кеширование, что ускоряет загрузку страниц, повышает позиции сайта.
  • сайты можно редактировать не заходя в административную панель.

Недостатки Joomla:

  • универсальность системы не может скрыть ее слабой и поверхностной разработки;
  • меньший арсенал бесплатных возможностей, чем в WordPress;
  • слишком простая для опытных разработчиков программа покажется чересчур нагруженной для неопытных пользователей;
  • слишком много учебной информации, среди которой бесполезные и даже вредные советы и уроки;
  • большое количество желающих найти слабые места в коде [39].

На четвертом месте CMS MODX, с ее помощью можно создать полноценно функционирующие интернет-ресурсы разной направленности: блоги, форумы, порталы, сервисы с онлайн-платежами и т.п.

Основные преимущества:

  • в CMS встроено много фич, которые упрощают труд веб-разработчика (например, возможность сохранять сниппеты кода);
  • можно использовать множество типов контента, не только HTML-страница, а, например, pdf-файл, который отобразиться в браузере, загрузится на компьютер и др.;
  • безопасность. Сайты на MODX более защищенные, чем ресурсы на большинстве других CMS;
  • SEO без дополнительных модулей и настроек;
  • возможность создания сложных многофункциональных интернет-магазинов;
  • поддержка мультиязычных сайтов.

Если свести все достоинства и недостатки к ряду общих характеристик, то получаются следующие выводы:

1. Универсальность.

Wordpress создавалась как блог-платформа, поэтому реализовать на Wordpress Интернет-магазин можно с помощью специальных плагинов, но их функционал не дает пространства для нестандартных решений.

Drupal подойдет для сайтов с большой базой данных: форумы, интернет-магазины, корпоративные сайты и блоги.

Joomla отлично подойдет для создания сайта-визитки, для более сложных проектов (интернет-магазины, корпоративные сайты), нужно переписывать код.

MODx подходит для реализации любого проекта – от одностраничного сайта до ресурсов с большим количеством контента и высокой посещаемостью – крупные интернет-магазины и корпоративные сайты со множеством вкладок.

OpenCart хорошо справится с любым web-проектом: лэндинг, интернет-магазин, корпоративный сайт, но главная специализация – интернет-магазины.

2. Скорость загрузки страниц.

Скорость загрузки во многом зависит и от структуры и от наполнения сайта, но важны и параметры самой CMS. Рейтинг выстроен в порядке возрастания качества характеристики [35].

По скорости загрузки на последних местах Joomla и Drupal.

Joomla использует больше ресурсов хостинга, чем другие CMS. Для того, чтобы страницы быстро прогружались, нужна дополнительная оптимизация, которая выливается в финансовые и ресурсные затраты.

На скорость загрузки страниц влияет низкая производительность CMS и большая нагрузка на ОП, которую Drupal создает количеством запросов к БД.

Немного выше скорость загрузки у Wordpress. Если посещаемость сайта высокая (от 3 тысяч в день), Wordpress сильно грузит систему из-за тяжелого движка, большого количества запросов к базе данных. Требуется работа над оптимизацией, но данная оптимизация краткосрочная.

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

Лучшая скорость загрузки у MODx. При правильном выборе хостинга и использовании последней версии обновления, сайты загружаются быстро.

3. Seo-ориентированность [4].

В Joomla нет возможности настроить страницы для SEO «из коробки», то есть необходимо устанавливать модули.

Чтобы настроить Drupal для SEO-оптимизации, нужно установить от 5 до 8 модулей, что усложняет процесс. Также модули генерируют нежелательные технические страницы, которые могут попасть в индекс.

Wordpress хорошо оптимизируется под SEO, но нужно провести большую работу, прежде, чем переходить непосредственно к оптимизации. Также эта CMS генерирует дубли страниц, а это усложняет оптимизацию.

OpenCart обладает хорошими возможностями для SEO-оптимизации, в частности, есть ЧПУ (человекопонятные URL), которые «любит» Google.

Продвижение сайта – одно из преимуществ MODx. Все требования специалистов по SEO реализуются очень быстро.

4. Безопасность.

Joomla и Drupal не используют специальных мер защиты. А сайты на Joomla подвергаются хакерским атакам чаще всего.

OpenCart, Wordpress: из-за открытого кода и доступности бесплатных модулей, в них могут оказаться вложенные вирусы. Но при использовании проверенных источников, этого можно избежать [39].

Из рассматриваемых видов CMS MODx лучше всего подходит к вопросам безопасности – специальный паттерн Active Record защищает доступ к данным.

5. Масштабируемость.

Joomla не предоставляет достаточного количества модулей для расширения возможностей сайта, нужна дополнительная работа.

Функционал Drupal значительно расширяется с помощью большого количества модулей. Однако здесь есть свой минус – модули утяжеляют код и формируют большую вложенность тегов, что влияет на качество работы сайта.

Wordpress – большая часть функционала реализуется именно с помощью плагинов, которые доступны в большом количестве.

Все модули на MODx бесплатны, а преимущество в том, что дополнения настраиваются сразу из админки. Это экономит время разработки сайта.

OpenCart обладает широкой модульной системой, которая позволяет расширить функционал CMS [43].

6. Адаптивность.

Joomla, Drupal, Wordpress – разрабатывая сайт на этих CMS, тратится время на усовершенствование адаптивности.

7. Удобство использования.

Drupal – посетители сайтов, которые сделаны на этой CMS, отмечают низкий юзабилити и недружелюбный интерфейс. Со стороны разработки нужно заметить, что у Drupal мало бесплатных тем, а для создания новой нужны опытные веб-мастера. Более того, внутренние интерфейс также малоинтуитивен и управление контентом будет сложной задачей.

Сведем все характеристики в одну таблицу (см. таблицу 2).

Таблица 2 – Достоинства и недостатки распространенных бесплатных CMS

Критериии

Wordpress

Drupal

Joomla

MODx

OpenCart

1. Универсальность

Высокая

Высокая

Низкая

Высокая

Высокая

2. Скорость загрузки страниц

Средняя

Низкая

Низкая

Высокая

Высокая

3.Seo-ориентированность

Средняя

Низкая

Низкая

Высокая

Высокая

4. Безопасность

Средняя

Низкая

Низкая

Высокая

Высокая

5. Масштабируемость

Высокая

Низкая

Средняя

Высокая

Высокая

6. Адаптивность

Средняя

Средняя

Средняя

Высокая

Высокая

7.Удобство использования

Высокая

Низкая

Средняя

Высокая

Высокая

CMS OpenCart распространяется бесплатно по лицензии GNU GPL, работает на базе PHP + MySQL, предназначена для самостоятельного и профессионального создания Интернет-магазина, ее название можно перевести как «Открытая корзина для покупок». Весьма популярна за рубежом и в России, поэтому к ней легко найти документацию, переведённую на русский язык версию и официальную русскоязычную поддержку. Российское сообщество разработчиков насчитывает несколько тысяч человек, поэтому в случае нужды в доработке исходного кода, не будет проблем с поиском специалиста. Ещё одним преимуществом OpenCart является множество разработанных под неё модулей, расширений и готовых сборок.

Одна из самых распространенных русских сборок – ocStore, которую часто именуют «русский OpenCart». Основные отличия заключаются в функционале, например, большое внимание уделено SEO-продвижению, что слабо проработано в OpenCart. Также важным плюсом является полная русская локализация магазина, которая включает в себя не только русский язык интерфейса и установщика, но и наличие национальной валюты и способов оплаты. Есть возможность установки других валют, в том числе тенге, что очень важно для казахстанского сайта.

Для разработки сайта использовался один из последних релизов: ocStore 2.3.0.2 [13]. Из дополнительных модулей установлен шаблон Basecart Theme – это базовый, бесплатный шаблон для OpenCart 2.x и OpenCart 3.x со встроенными цветовыми схемами Bootswatch.

Основные возможности:

  • простая установка;
  • адаптивный дизайн;
  • 17 цветовых схем;
  • 2 типа цвета шапки для каждой цветовой схемы;
  • шаблон построен с использованием Bootstrap 3;
  • удобное переключение цветовых схем;
  • хорошая отзывчивость и высокая скорость работы.

Выбрана цветовая схема: Slate – темно-серый фон, надписи светло-серые и белые, фон картинок – белый.

Для постоянного размещения корпоративного сайта в сети Интернета необходимо выбрать хостинг, т.е. компанию, которая предоставляет хостинг-услуги. Хостинг – это услуга по предоставлению ресурсов (дискового пространства) для физического размещения информации (сайта) на сервере провайдера, постоянно находящегося в сети Интернет [21, с. 361].

2.1 Пример создания базы данных в веб-приложениях

Более девяноста процентов веб-ресурсов работают на системах управления контентом (CMS), использующих язык РНР, и построенных по принципу разделения графической составляющей (интерфейса) и данных, которые хранятся в отдельных файлах, называемых базами SQL [5].

MySQL – свободная реляционная система управления базами данных. MySQL является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы [40].

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Непосредственное управление СУБД MySQL осуществляется через командную строку, поэтому для удобства управления был разработан phpMyAdmin [40].

PHPMyAdmin – это веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс. На сегодняшний день PHPMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Приложение распространяется под лицензией GNU General Public License и поэтому многие другие разработчики интегрируют его в свои разработки, например XAMPP, Denwer, Apache, AppServ, Open Server.

Все операции с ячейками и их содержимым – просмотр, копирование, удаление, вставка производятся в один клик. Наиболее часто веб-разработчиками и администраторами сайта используется возможность моментального создания копии базы данных для переноса сайта с одного хоста на другой. При желании его можно получить сразу в заархивированном виде.

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

База данных CMS ocStore 2.3.0.2 по умолчанию включает 132 таблицы различного назначения. Структура и назначение большинства таблиц соответствует таблицам родительской CMS OpenCart. На рисунке 4представлена схема связей некоторых таблиц CMS OpenCart [36].

Рисунок 4 – База данных сайта

Рисунок 5 – Схема связей некоторых таблиц CMS OpenCart

В CMS ocStore 2.3.0.2 название каждой таблицы начинается с перфикса ос_. Рассмотрим структуру и назначение некоторых таблиц. Как видно из схемы (см. рисунок 13) – основной таблицей определяющей Интернет-магазин сайта, является таблица product. В CMS ocStore данная таблица обозначена oc_product, предназначена для регистрации всех товаров и содержит такие же поля [37]. Структура таблицы oc_product представлена на рисунке 5. Содержание таблицы oc_product представлено на рисунке 6.

Рисунок 6 – Структура таблицы базы oc_product

Рисунок 7 – Содержание таблицы базы oc_product

С данной таблицей через ключевое поле product_id связано четырнадцать других таблиц базы: oc_product_special; oc_product_discount; oc_product_related; oc_product_reward; oc_product_to_store; oc_product_image; oc_product_to_layout; oc_product_to_download; oc_review; oc_product_option; oc_product_option_value; oc_product_attribute; oc_product_description; oc_product_to_category.

Рассмотрим некоторые связанные таблицы. Например, таблица oc_product_reward, предназначенная для назначения бонусных баллов. На рисунке 8 представлена структура данной таблицы, на рисунке 9 – содержание таблицы.

Рисунок 8 – Структура таблицы базы oc_product_reward

Рисунок 9 – Содержание таблицы базы oc_product_reward

Таблица oc_product_to_layout предназначена для назначения схем отображения продукции и позволяет каждому продукту назначить сою схему представления. На рисунке 10 представлена структура данной таблицы, на рисунке 11 – содержание таблицы.

Таблица oc_product_image предназначена для связывания продукта с его изображением и определения местоположения изображения. На рисунке 12представлена структура данной таблицы, на рисунке 13 – содержание таблицы.

Рисунок 10 – Структура таблицы базы oc_product_to_layout

Рисунок 11 – Содержание таблицы базы oc_product_to_layout

Рисунок 12 – Структура таблицы базы oc_product_image

Рисунок 13 – Содержание таблицы базы oc_product_image

Таким образом организованы все таблицы сайта, построенного на базе CMS ocStore 2.3.0.2. С помощью панели PHPMyAdmin можно просматривать таблицы, вносить изменения и при необходимости переносить сайт на другой хостинг.

ЗАКЛЮЧЕНИЕ

Тема работы: «Особенности алгоритмизации при работе web-приложений».

Данная цель была реализована посредством решения следующих задач:

  • изучены теоретические аспекты проектирования веб-сайтов;
  • рассмотрены современные тенденции разработки сайтов;
  • определены принципы проектирования сайтов;
  • изучен вопрос организации системы информационной безопасности и защиты информации на сайте;
  • выбраны средства разработки сайта;
  • разработана структура базы данных сайта.

На базе CMS ocStore 2.3.0.2, СУБД MySQL 5.7.21 и языка программирования PHP 5.6.30 был спроектирован сайт. Для тестирования работы сайта, он временно размещен на бесплатном хостинге.

В структуру сайта входит пять основных страниц.

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

Интернет-магазин. Страница Интернет-магазина включает каталог товаров, разделенный на разделы, подразделы и карточки товаров.

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

Дополнительные модули. Кроме основных страниц, на сайте имеются дополнительные модули: Личный кабинет (для постоянных посетителей), система поиска по сайту, карта сайта, форма обратной связи и др.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Об информации, информационных технологиях и о защите информации [Текст]: Федеральный закон РФ от 27.07.2006 г. N 149-ФЗ (с изм. и доп., вступ. в силу с 06.07.2016). – М.: ФЗ. – 2016.
  2. OpenCart – что это? [Электронный ресурс]. – Режим доступа: https://www. cccp-blog.com.
  3. Opencart [Электронный ресурс]. – Режим доступа: http://www. opencart.com.
  4. URL – быстрый старт [Электронный ресурс]. – Режим доступа: http://www.michaelsmirnov.blogspot.com.
  5. Базы данных [Электронный ресурс]. – Режим доступа: http://www.intuit.ru.
  6. Базы данных и СУБД [Электронный ресурс]. – Режим доступа: http://www.timeweb.com.
  7. Безопасность бизнеса [Электронный ресурс]. – Режим доступа: https://www.utmagazine.ru.
  8. Введение в веб-разработку [Электронный ресурс] – Режим доступа: https://www.ru.hexlet.io.
  9. Веб-сайт компании как коммуникативный маркетинговый инструмент [Электронный ресурс]. – Режим доступа: http:// www.vestnik.vsu.ru.
  10. Венделева, М.А. Информационные технологии в управлении. [Текст]: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. – Люберцы: Юрайт, 2016. – 462 c.
  11. Выбираем хостинг [Электронный ресурс]. – Режим доступа: http://www.active.by.
  12. Выбор хостинга [Электронный ресурс]. – Режим доступа: https://www.ru.hostings.info.
  13. Документация ocStore [Электронный ресурс]. – Режим доступа: https://www.docs.ocstore.com.
  14. Дронов, В. Django: Практика создания Web-сайтов на Python [Текст] / Владимир Дронов. – СПб.: БХВ-Петербург, 2016. – 303 c.
  15. Защита информации в Интернете [Электронный ресурс]. – Режим доступа: http://www.my-platform.ru.
  16. Из чего состоит страница сайта [Электронный ресурс]. – Режим доступа: https://www.dev.1c-bitrix.ru.
  17. Информационная безопасность на предприятии [Электронный ресурс]. – Режим доступа: http://www.tvoi.biz.
  18. Как создать эффективный корпоративный сайт и что может стать причиной провала? [Электронный ресурс]. – Режим доступа: http://www.kp.ru.
  19. Какой хостинг лучше [Электронный ресурс]. – Режим доступа: http://www. blogwork.ru.
  20. Ковязин, А. Разработка приложений и баз данных [Электронный ресурс] / А. Ковязин. – Режим доступа: http://www. osp.ru.
  21. Колисниченко, Д.Н. PHP и MySQL. Разработка веб-приложений. – 6-е изд., перераб. и доп. [Текст] / Д.Н. Колисниченко. – СПб.:БХВ-Петербург, 2017. - 640 c.
  22. Лучшие хостинг-провайдеры [Электронный ресурс]. – Режим доступа: https://www.hosting-deshevo.ru.
  23. На какой CMS делать сайт? [Электронный ресурс]. – Режим доступа: http://www.cmsmagazine.ru.
  24. Надежная защита сайтов – все более значимый элемент сайтостроительства [Электронный ресурс]. – Режим доступа: http://www.web-sitio.ru.
  25. Никсон, Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5 [Текст]: 4-е изд./ Робин Никсон. – СПб.: Питер, 2016. – 768 с