Меню

Главная
Случайная статья
Настройки
Участник:Feb7/InstantCMS
Материал из https://ru.wikipedia.org

InstantCMSсистема управления содержимым (CMS), написанная на языках PHP и JavaScript, использующая в качестве хранилища базу данных СУБД MySQL. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL. Движок использует архитектуру MVC.

Содержание

История

Проект InstantCMS был основан в 2008 году россиянином Владимиром Обуховым. На текущий момент развивается им же, совместно с группой энтузиастов. Содержит две ветви (называемыми на сайте проекта Первой и Второй ветками).

Первая ветка состоит из 26 релизов[1], крайний обозначается InsnantCMS 1.10.7. Разработчики объявили, что полноценное развитие этой ветки ими остановлено. Обновления могут выходить только при обнаружении уязвимостей и/или критических ошибок. При этом энтузиасты Первой ветви продолжают выкладывать сборки и улучшения.

До 29 октября 2012 года движок Первой ветки базировался на кодировке cp1251_general_ci. С выходом релиза InsnantCMS 1.10 кодировка изменилась. В настоящее время применяется utf-8.

15 октября 2013 движок получил поддержку мультиязычности (релиз InsnantCMS 1.10.3).

Вторая ветка стартовала 1 мая 2014 года и в настоящее время (июль 2017 года) содержит 15 релизов[2]. InstantCMS 2.X отличается от 1.X совершенно другим подходом. Если первая ветка по логике близка к Joomla и подобным "классическим" CMS, то вторая больше похожа на Drupal, Bitrix и другие "взрослые" продукты. InstantCMS 2 основана на идее, что контент сайта и структура профилей пользователей не заданы жестко — они конструируются через админку.

До мая 2016 года регистрация на официальном сайте проекта была ограничена. Зарегистрироваться можно было лишь по приглашениям (инвайтам) участников проекта. Начиная с мая 2016 года регистрация открыта. Ограничения связаны лишь с ведением личных и общественных блогов. Чтобы вести блог на официальном сайте, необходимо заработать определенное количество кармы.

На сегодняшний день (июль 2017 года) на этой CMS в сети работает более 2500 сайтов различной тематики согласно поиску Google и различным сервисам статистики[3]. В рейтинге CMSMagazine InstantCMS занимает 20 место в общем зачете, 9 место среди бесплатных CMS и 3 место среди бесплатных CMS для социальных сетей[4]. InstantCMS входит в десятку популярных CMS по версии различных информагенств[5] и журналов[6]. В рейтинге сайтов StatOnline занимает 21 место.

Основные направления использования системы

Перечислены самые популярные:

Системные требования
  • Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)
  • Веб-сервер: Apache, Nginx (теоретически любой веб-сервер, допускающий исполнение PHP-кода)
  • СУБД: MySQL версии 5 или выше;
  • PHP версии 5.5 и выше.


Ключевые особенности

В работе системы:
  • предельно простая установка: достаточно загрузить файлы дистрибутива на сервер и пройти по шагам мастера установки системы;
  • несколько WYSIWYG редакторов сразу после установки, на выбор;
  • возможность создания мультиязычных сайтов;
  • возможность разграничения доступа к разделам сайта на основе создания различных групп пользователей, с настраиваемым диапазоном прав от "гостей" до "админов";
  • личные страницы (профили) пользователей в стиле социальной сети;
  • объединение пользователей в клубы;
  • возможность комментирования любых материалов на сайте;
  • внутренний мессенджер;
  • rss-ленты;
  • любые типы контента:
  • удобные фильтры для всех типов контента и профилей[7].


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


Краткий обзор Первой ветки

Первая ветка логически разделена на компоненты, модули и плагины.

Компоненты

Компонент — это часть сайта, несущая на себе законченную функциональную нагрузку. На одной странице сайта может быть только один компонент, хотя компонент может состоять из нескольких страниц. В «коробочной» версии InstantCMS 1.10.7 находится 21 компонент.

Модули

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

Плагины

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

Фильтры

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

Краткий обзор Второй ветки

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

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

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

Основные отличия от Первой ветки
  • Избавление от всех "детских болезней" и архитектурных изъянов;
  • Весь современный стек технологий: UTF-8, PHP 5.3+, HTML5, поддержка Memcached и других вещей;
  • Никаких Smarty, чистый PHP в логике шаблонов;
  • Переработанный подход к юзабилити;
  • Абсолютная расширяемость (плагины везде и для всего);
  • Современный, красивый, читаемый код;
  • Полноценная модель MVC;
  • Полноценная локализация интерфейса;
  • Поддержка единой базы пользователей для нескольких сайтов (единая авторизация);
  • Поддержка сквозной авторизации между основным доменом и поддоменами;
  • Автоматическая проверка обновлений и патчей;
  • Еще больший уклон в социальность;
  • Безопасность;
  • Совершенно новый подход к созданию и обработке контента на сайте.


Безопасность системы

В ноябре 2009 года журнал «Хакер» опубликовал статью "Социальный взлом: Pen-testing популярного движка соцсети". [9] В этой статье указывались различные уязвимости, присущие релизу InstantCMS 1.5.2. Разработчиками были приняты меры к закрытию уязвимостей. Уже через месяц после публикации ими был выпущен релиз InstantCMS 1.5.3. В аннотации к релизу написано:

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

После этого инцидента безопасности уделяется повышенное внимание. Усилиями участников сообщества проводились различные тесты на безопасность, найденные уязвимости оперативно закрывались. Разработчики неформально (посредством email переписки) получали фидбэк от таких компаний, как High-Tech Bridge Security Research Lab, Cisco[10], Лаборатория Касперского, Positive Technologies[11] и многих других. Итогом стало закрытие всех известных уязвимостей и пересмотр в целом подхода к обработке входных данных.

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

Ссылки

Примечания
  1. Архив версий InstantCMS 1.X — InstantCMS Community. www.instantcms.ru. Дата обращения: 3 июля 2017.
  2. Архив версий InstantCMS 2.X — InstantCMS Community. www.instantcms.ru. Дата обращения: 3 июля 2017.
  3. InstantCMS Usage Statistics. trends.builtwith.com. Дата обращения: 11 июля 2017.
  4. Каталог платных и бесплатных CMS для социальных сетей. www.cmsmagazine.ru. Дата обращения: 2 июля 2017.
  5. Рейтинг CMS – самые популярные движки для сайтов: графики, описания и данные, данное исследование подтверждает и наша компания iTrack. itrack.ru. Дата обращения: 3 июля 2017.
  6. Наталья Сергеевна Харламова. Топ-20 бесплатных CMS в России // Иннов: Электронный Научный Журнал. — 2014. — Вып. 4 (21). — С. 1. — ISSN 2414-5122.
  7. Е. А. Чирков. ИНТЕЛЛЕКТУАЛЬНАЯ ПОИСКОВАЯ СИСТЕМА НАУЧНО- ОБРАЗОВАТЕЛЬНОЙ СОЦИАЛЬНОЙ СЕТИ (неопр.) // ПОЛЗУНОВСКИЙ АЛЬМАНАХ. — 2010. — № 2.
  8. instantSoft. GitHub. Дата обращения: 3 июля 2017.
  9. Социальный взлом: Pen-testing популярного движка соцсети // Хакер, ноябрь 2009 (рус.)
  10. InstantCMS Code Execution Vulnerability (англ.). tools.cisco.com. Дата обращения: 3 июля 2017.
  11. Делаем свободное ПО безопасней: баги и фиксы InstantCMS. Дата обращения: 3 июля 2017.



Downgrade Counter