concrete5

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
concrete5
Concrete5 logo.jpg
Тип

CMS

Разработчик

Franz Maruna
Andrew Embler

Написана на

PHP

Операционная система

Кроссплатформенность

Последняя версия

5.7.5.1 (14 августа 2015)

Лицензия

Лицензия MIT

Сайт

concrete5.org

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].

Системные требования[11][править | править вики-текст]

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

Возможности[править | править вики-текст]

Редактирование контента в cms concrete5

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

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

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

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

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

Архитектура[править | править вики-текст]

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

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

Уязвимости[править | править вики-текст]

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

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

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

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]