Русская Википедия:Concrete5

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка программы Шаблон:Заголовок со строчной буквы concrete5 — CMS с открытым исходным кодом, распространяемая по лицензии MIT[1][2]. Система, написанная на языке PHP и JavaScript, в частности активно использует jQuery, использует базу данных MySQL, а также панель управления с версии 5.5 использует Twitter Bootstrap. Concrete5 сочетает в себе интуитивно понятный новичкам пользовательский интерфейс с широким набором возможностей.[3][4] По информации разработчиков, систему можно использовать как для создания персональных сайтов, так и для полнофункциональных Интернет-изданий[5].

История

Разработка системы управления содержимым concrete5 началась в 2003 году двумя программистами — Францем Маруна и Эндрю Эмблером. Изначально система называлась «Concrete» и с 2003 по 2008 год разработчики использовали CMS исключительно для своих проектов. В 2008 году с выходом пятой версии к названию системы добавилась цифра 5, а сама система стала доступна для бесплатного использования на основе лицензии MIT.

В подготовленном Water & Stone отчёте «2010 Open Source CMS Market Share Report»[6], отмечен рост числа web-студий, занимающихся поддержкой Concrete5, превышающий аналогичные показатели для других CMS, то же самое и с динамикой видимости Concrete5 в поисковых системах. Отмечается заметный рост и других параметров, отслеживаемых Water & Stone для этой системы.

Награды и достижения

  • Проект месяца на сайте SourceForge.net в октябре 2008 года[7].
  • 1 февраля 2011 года CMS заняла первое место на DreamHost one-click app contest[8].Шаблон:Значимость факта
  • В 2012 году 1 место в номинациях «Best Open Source CMS» и «Best Budget CMS» по мнению пользователей портала «CMS Critics»[9].
  • В 2014 году 1 место в номинации «Best Free PHP CMS» по мнению пользователей портала «CMS Critics»[10].
  • В 2015 году 1 место в номинации «Best cms for designers» по мнению пользователей портала «CMS Critics»[9]

[11].

Системные требования[12]

  • PHP 5.2.x или выше, со следующими модулями: CURL, zip, mcrypt, openssl, GD, mysql, mbstring
  • MySQL 5.x или выше
  • Apache/IIS (разработчиками рекомендуется Apache)
  • Python 2.2 — необязательное требование (используется только для визуального сравнения версий страниц)

Возможности

Сoncrete5 даёт пользователям возможность добавлять и редактировать контент прямо на странице сайта[13][14]. В шаблоне concrete5 задаётся набор и местоположение на странице редактируемых областей, в которые контент-менеджер может добавлять «блоки» (модули) с содержимым. В качестве содержимого может использоваться как простой контент (текст или изображение), так и более сложный: слайдшоу, опрос, форма или любые другие модули. Concrete5 позволяет создавать произвольное количество типов страниц, которые предполагают различное расположение редактируемых областей в одном и том же дизайне (в то же время и дизайн каждой страницы сайта может быть совершенно разным). Начиная с версии 5.4.1 была добавлена поддержка блогориентированных блоков: навигации по датам, тегов и навигационных блоков Next/Previous[15].

Кроме того в concrete5 каждую страницу могут редактировать несколько человек, при этом страница видна только редакторам с соответствующими правами, а видимой для посетителей страница становится только после того, как её одобрит администратор сайта[16]. То есть редакторами/менеджерами сайта могут быть несколько человек. Также есть возможность дать полный (для редактирования) доступ к определённым разделам сайта для определённых пользователей (контент-менеджеров), чтобы каждый из них вёл свой собственный раздел на сайте.

Другие возможности системы вкратце перечислены ниже:

  • поддержка полностраничного кэширования;
  • 21 модуль для наполнения контентом устанавливаются по умолчанию;
  • установка дополнительных блоков (модулей);
  • изменение дизайна сайта с помощью «шаблонов»;
  • использование ЧПУ (человеко-понятный URL) (по умолчанию отключено);
  • разграничение прав доступа пользователей к редактированию сайта;
  • применение редактора WYSIWYG для наполнения сайта контентом;
  • До версии concrete 5.5.2 использован редактором фотографий на базе кода Picnik; С версии concrete 5.5.2 редактирование фотографий осуществляется с помощью библиотек jQuery[17]
  • специальный API для разработчиков.

В релизе 5.4.2 появляется Composer Beta — раздел в панели администрирования, который позволяет быстрее создавать однотипные страницы и публиковать их. Предполагаемое назначение — публикация блогов, новостей и т. п.

Архитектура

Concrete5 — это объектно-ориентированное PHP-приложение, построенное в соответствии с принципами MVC[18].

В ядре системы используются Symfony Framework и Doctrine ORM (до версии 5.7, соответственно, Zend Framework и ADOdb). Модульная организация системы позволяет разработчикам расширять её функциональность, не затрагивая при этом само ядро, в частности, посредством перегрузки классов в корневом каталоге системы.

Уязвимости

В Concrete5 были обнаружены (и устранены начиная с версии 5.4.2.2[19]) некоторые уязвимости[20], позволяющие удалённому пользователю провести XSS нападение:

1-я уязвимость появилась из-за некорректной проверки входных данных, которые отправляются параметром «cID» при установленном «bID» в index.php/tools/blocks/page_list/blog_rss. С помощью сообщения об ошибке при настроенном на нецелочисленное значение «cID» удалённый пользователь получает доступ к полному пути установки.

2-я уязвимость возникла по причине некорректной обработки входящих данных, отправляемых «rcID» параметром в index.php/login/forgot_password. Специально сформированный запрос удалённого пользователя сможет запустить в браузере жертвы произвольный код сценария.

Примечания

Шаблон:Примечания

Литература

Ссылки