Файл: Особенности алгоритмизации при работе WEB-приложений.pdf
Добавлен: 31.03.2023
Просмотров: 302
Скачиваний: 2
Список защитных мер [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. Для того, чтобы страницы быстро прогружались, нужна дополнительная оптимизация, которая выливается в финансовые и ресурсные затраты.