Добавлен: 05.07.2023
Просмотров: 35
Скачиваний: 2
Введение
Системы управления веб-контентом (WCMS) играют все более важную роль в эволюции Интернета. Это программные платформы, которые облегчают внедрение веб-сайта или электронной коммерции и набирают популярность благодаря гибкости и простоте использования. В этой работе мы объясняем с точки зрения учебника, как управлять WCMS и что можно достичь, используя их. С этой целью мы выбираем самый популярный WCMS с открытым исходным кодом; а именно Joomla !, WordPress и Drupal. Затем мы реализуем три веб-сайта, которые равны с точки зрения требований, визуального аспекта и функциональности, по одному для каждой WCMS. Благодаря качественному сравнительному анализу мы показываем преимущества и недостатки каждого решения и связанную с ним сложность. С другой стороны, проблемы безопасности могут возникнуть, если WCMS не используются должным образом. Из-за ключевой позиции, которую они занимают в сегодняшнем Интернете, мы выполняем базовый анализ безопасности трех веб-сайтов внедрения во второй части этой работы. В частности, мы объясняем уязвимости, улучшения безопасности, которые не должны выполняться, и какие WCMS изначально безопаснее.
Основная часть
Сначала группа внедрения разворачивает ядро WCMS и создает в СУБД информационное хранилище контента — базу данных. Далее администратор предоставляет доступ к системе различным пользователям. Затем создается контент, он публикуется, и к нему применяются шаблоны оформления (рисунок 2).
На этапе создания Web-контента необходимо создать все типы контента и схемы их метаописаний, а также настроить систему на определенный поток работ. Понятие типа контента аналогично понятию класса, а элементы контента представляют собой набор экземпляров таких классов. Типами контента являются, например, текст и изображение; экземпляром контента – конкретный документ или картинка.
Следующая важная возможность - хранение информации о версии контента. Это позволяет задать номер версии любых операций изменения контента и при необходимости восстановить его. В любой момент можно отказаться от изменений и, практически в режиме реального времени, откатиться на одну из предыдущих зафиксированных версий. Строгий контроль версий необходим для определения ответственности отдельных лиц, а также для резервного и аварийного восстановления системы.
Кроме управления Web-контентом, система должна предоставлять возможность создавать метаданные о нем. Метаданные — это сведения о данных и их свойствах. Примером метаданных служат ключевые (характерные) слова документов, предназначенные для поисковых или отчетных систем.
После того, как все типы контента созданы, авторы информационного наполнения начинают создавать, изменять и удалять элементы контента указанного типа. WCMS уже содержит некоторый набор визуальных компонентов, например, для редактирования текста, выбора изображений, выбора шаблона представления. Кроме непосредственно редактирования элементов контента, необходимо предусмотреть разбиение контента по категориям или рубрикам.
В качестве решения проблемы представления в системах управления контентом используется технология шаблонов, определяющих внешний вид страницы. Разработчику шаблонов не нужно знать никаких технических тонкостей. На ранних этапах существования WCMS шаблоны представляли заготовки НТМL-кода, из которого путем манипуляций в HNML-редакторе получались готовые страницы. Сегодня такими заготовками манипулируют уже не дизайнеры в своих редакторах, а серверные Web-приложения.
Таким образом, современный шаблон Web-страницы представляет собой блок HTML, который благодаря специальным тегам или внедренным сценариям, облегчает включение динамически сгенерированного содержания на этапе выполнения. При использовании подобных шаблонов программистам необходим некоторый стандартизированный интерфейс для работы с ними – шаблонный движок (в английском языке существует устоявшийся термин – template engine), который может иметь разнообразные дополнительные функции. Например, поддерживать кэширование шаблонов, их динамическое обновление и т. д.
В зависимости от способа применения шаблонов для генерации Web-страниц, принято выделять три основных типа WCMS-систем: с автономной обработкой, on-line обработкой и гибридные системы.
Автономные системы обрабатывают все содержимое путем применением шаблонов перед публикацией Web-страниц.
Online системы применяют шаблоны в момент посещения сайта пользователями (либо извлекают страницы из кэша).
Гибридные системы комбинируют первые два подхода. Некоторые из них вместо статических страниц генерируют исполняемые коды (JHP, PHP, Perl), избавляя от необходимости установки WCMS на каждом Web-сервере. Механизм публикации информации в WCMS отвечает за процесс создания, редактирования и удаления шаблонов страниц, а также за сопоставление типов контента и шаблонов страниц. В состав дополнительных возможностей системы публикации может входить предварительная генерация статической версии сайта. Эта опция очень полезна в случае размещения информационной системы на оборудовании с ограниченными возможностями.
WCMS обычно используется для управления и контроля большими, динамически изменяемыми коллекциями Web-материала (НТМL-документами и связанными с ними картинками). Такая система упрощает процесс создания, управления, редактирования контента и многие другие важные задачи, связанные с поддержкой этих процессов.
WCMS предоставляет следующие возможности:
1. Применение автоматических шаблонов отображения (в НТML или XML-формате), автоматически применяемых к новому или существующему контенту. Тем самым вид всех документов может задаваться из единой точки.
2. Простота редактирования контента. Пользователю достаточно легко создавать и управлять контентом, поскольку ему либо вообще не требуется знания языков программирования или языков разметки, либо требуется минимальное знание таковых.
3. Масштабируемость. Возможность расширения функциональности существующего сайта путем установки поставляемых с дистрибутивом WCMS плагинов и модулей.
4. Управление документами. Имеются средства управления жизненным циклом документов с момента создания до удаления.
5. Визуализация контента. Любой пользователь может работать с виртуальной копией всего Web-сайта, множества документов или кодами программ, что позволяет увидеть все изменения множества взаимосвязанных ресурсов перед их окончательным
применением.
Интернет более жив, чем когда-либо: количество веб-сайтов в Интернете уже превысило один миллиард, число пользователей Интернета достигло почти четырех миллиардов, а уровень проникновения составляет более 51,7%. Наблюдая за тенденцией роста в последние годы (см. Рисунок 1), мы можем прийти к выводу, что эта эволюция входит в постоянную фазу, то есть линейную, а не экспоненциальную рост. Однако, если мы проверим другие статистические данные, мы обнаружим, что 60% малых и средних предприятий (SMB) не имеют корпоративного веб-сайта. Как следствие, все еще есть много возможностей для роста, и системы управления веб-контентом (WCMS) облегчают эту задачу. WCMS - это программные платформы, которые обычно используются, когда требуется веб-сайт, обычно требующие разных ролей пользователя, но в то же время не хватает знаний в области веб-программирования. Как инструмент, WCMS процветает, будучи очень полезным для новичков в веб-разработке или для менеджеров малого бизнеса, потому что веб-сайты могут быть легко реализованы при относительно низкой стоимости. Одним из примеров может служить редакция газеты, где журналисты заинтересованы в выпуске онлайн-издания. В этом случае журналисты могут не знать достаточно о веб-программировании для разработки своего сайта, имея только навыки офисного программного обеспечения. Именно в этом сценарии WCMS имеет большой потенциал. WCMS с открытым исходным кодом, также называемая WCMS второго поколения, - это платформы, часто основанные на PHP (PHP Hypertext Preprocessor) и обычно предоставляемые сообществами пользователей, которые предоставляют новые решения и новые функции. Базовая структура WCMS состоит из следующих частей: (i) файлы менеджера контента; (ii) хостинг-провайдер для хранения файлов менеджера контента; и (iii) связанная база данных, например MySQL (My Structured Query Language), для хранения информации веб-сайта. WCMS предоставляет область администрирования или разработки, называемую back-end, где статьи, функциональные возможности или любой другой аспект могут быть добавлены, удалены или изменены. С другой стороны, видимая часть веб-сайта, то есть то, что видит посетитель, называется внешним интерфейсом.
Рисунок 1. Интернет-пользователи и проникновение во всем мире, 2001–2021 гг. (Миллиарды,% населения); данные, обозначенные *, являются ожидаемыми значениями
Уязвимости безопасности являются слабым местом любой системы на уровне проектирования и реализации, и WCMS не является исключением. Ошибки и недостатки - это проблемы программного обеспечения, различающиеся с точки зрения уровня, на котором они представлены (реализация и дизайн, соответственно); в любом случае они опасны и должны быть проанализированы. Упрощенно, атака состоит из двух этапов: обнаружение, которое дольше по времени, и эксплуатация, когда известна слабость WCMS. Безопасное приложение обеспечивает аутентификацию, конфиденциальность, целостность и доступность. В зависимости от сервиса, на котором мы концентрируемся, мы можем отложить в сторону некоторые из этих характеристик безопасности (например, конфиденциальность). Тем не менее, WCMS являются ключевым элементом современного Интернета и стали целью для злоумышленников. Если WCMS имеет уязвимости безопасности, он может стать недоступным с соответствующими негативными последствиями. Обычными последствиями атак являются: уничтожение конфиденциальных данных, изменение данных, неправильное использование веб-сервера для незаконных действий, отказ в обслуживании (DoS) и другие. Из-за ключевой позиции, которую WCMS занимает в современном Интернете, и проблем безопасности, которые могут возникнуть при неправильном использовании или конфигурации, цель этой статьи двояка. Во-первых, мы расширяем работу, выполненную в, объясняя, как управлять WCMS с точки зрения учебника, и что можно достичь с его использованием. Для этого мы выбрали лучшие WCMS с точки зрения популярности и производительности [18-21]; а именно, WordPress, Joomla! и Drupal. Что касается популярности, то в то время, как только 23,6% веб-страниц были созданы с помощью WCMS в январе 2011 года, этот показатель увеличился до 48,8% в январе 2018 года. В 2011 году 13,1% веб-сайтов были реализованы с помощью WordPress, 2,6% - с Joomla !, и 1,4% - с Drupal. В 2018 году наиболее используемой WCMS является WordPress (29,3%), второй предпочтительный вариант - Joomla (3,2%), а третий - Drupal (2,3%). Другими словами, доля рынка WordPress в январе 2018 года составляет 60%, за которым следует Joomla! и Drupal с 6,5% и 4,6% соответственно. С точки зрения производительности, работы, выполненные в, сравнили несколько WCMS, и оба исследования подчеркнули, что WordPress, Joomla !, и Drupal были наиболее эффективными, потому что они достигли лучшего времени загрузки и хорошего статического контента, показали самый высокий количество инсталляций, предоставлена лучшая документация поддержки и т. д. Хотя Joomla! и Drupal потеряли некоторую актуальность, они все еще широко используются, как показано в, что оправдывает их выбор для этой сравнительной работы. Методология, используемая для сравнения, состоит в создании трех одинаковых веб-сайтов, каждый из которых имеет свою WCMS.
Статические сайты.
При создании такого вида сайтов специалисты пишут в HTML-формате каждую страницу в отдельности. Однако эти сайты дороги в эксплуатации и не обеспечивают должной гибкости.
Это обусловлено несколькими факторами. Во-первых, смешение дизайна и контента. Как следствие, затруднено редактирование и обновление информационного наполнения, что в свою очередь влечет за собой верстку новых страниц и изменение дизайна, так как очень часто они переплетены большим количеством взаимных ссылок.
Во-вторых, трудность поддержки пользователей. Развитие электронного бизнеса обуславливает необходимость принятия всех мер для привлечения потенциальных клиентов к своему ресурсу.
Наконец, третий (он же основополагающий) фактор - невозможность поддержки бизнес-процессов. Высокие темпы развития сетевых технологий и взаимодействие сетей предприятий приводят к использованию Web-ориентированных решений во внутренней сети предприятия (intranet), с одной стороны, и к взаимодействию на их основе с внешними партнерами (extranet) - с другой.
Примеров использования таких решений в настоящее время очень много. Это Интернет-магазины, где посетитель формирует заказ и хочет видеть динамику его выполнения, онлайновые издания, где материал до публикации проходит несколько стадий - общение с редактором, правку, возвращение автору и т. д. Другими словами, поддержка бизнес-процессов на базе статических сайтов неэффективна и крайне сложна в реализации.
Динамические сайты.
Динамические сайты не хранят Web-страницы целиком, а формируют их на лету, по мере обращения к ним пользователя. Вся информация хранится в базе данных, а программы, написанные с использованием языков ASP, PHP, Perl и т. д., генерируют из базы данных HTML-страницы.
Основное отличие динамических сайтов от статических заключается в разделении дизайна и контента. Их несомненное преимущество состоит в возможности привлечения не имеющего специальной подготовки персонала для публикации и обновления контента.
На базе сайтов этого типа наиболее гибко реализуется поддержка пользователей, которая с точки зрения сетевого ресурса подразумевает под собой следующие сервисы и функции:
· регистрацию и аутентификацию - подтверждение достоверности имени пользователя;
· персонализацию - хранение настроек для каждого пользователя;