eSci.Ru logo
Данный ресурс создан для поддержания извечного стремления человека к сияющим вершинам разума
Главная > Статьи > Что такое eSci
Что такое eSci

eSci – составное слово, правая часть которого является сокращением от science («наука»), а левая указывает на способ передачи информации – electronic («электронный»).

eSci – это CMS (Content Management System), т.е. система управления контентом. Основное отличие eSci от других систем заключается в возможности поддерживать сайт значительным числом администраторов, которые имеют возможность добавлять новые материалы на сайт и модерировать уже существующие. Это сделано благодаря введению гибкой системы прав и иерархической организации документов на сервере. Кроме того, eSci позволяет размещать разнотипные данные, главное, чтобы для их обработки и вывода был написан соответствующий скрипт (handler).

Управление правами основано на ACL – access control list, списках управления доступом. ACL состоит из расположенных в определенном порядке элементов – ACE, access control entry. Каждый такой элемент указывает на возможность или невозможность произведения определенного действия членами определенной группы пользователей или отдельным пользователем, а также – следует ли наследовать разрешения, указанные для некоторого узла виртуальной файловой системы CMS (далее будет использовано сокращение esciFS), всем дочерним узлам.

Скрипты для управления отображением и манипулированием узлами esciFS, называемые handler’ами, подобно тому, как сама esciFS имитирует реальную файловую систему, имитируют программы, способные производить с «файлами» esciFS различные манипуляции. Подобно тому, как офисный документ может быть защищен от чтения или записи системными средствами, так и непосредственно механизмами офисного приложения, eSci позволяет использовать оба этих способа, что позволяет добиться большей гибкости и безопасности. Для этой цели, позволяющей определить не только возможность манипулирования с узлом на уровне байтов, но и на уровне предметной области, eSci поддерживает возможность размещения непосредственно в теле узла XML-документа, регламентирующего права доступа более детально. Задача разграничения доступа с использованием XML-ACL в этом случае ложится на сам handler, в отличие от ACL, хранящихся отдельно от документа, работу с которыми реализует подсистема esciFS.

Особое внимание при написании eSci уделялось безопасности. При разработке использовался принцип наибольшей безопасности, фильтровались различными способами все возможные данные, даже если доподлинно было известно, что они «уже чистые». Среди всего прочего, пароли в базе данных хранятся в виде двойного MD5-хэша, что даже в случае утечки данных из нее не позволяет злоумышленнику подменить cookie или авторизоваться, используя украденные данные.

Авторизация использует в качестве механизма передачи данных аккаунта cookie, в которых пароль хранится в виде MD5-хэша. Ввиду этого, даже в случае кражи cookie, воспользоваться формой авторизации будет затруднительно.

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

Особую устойчивость системе придает то, что весь обмен данными с пользователями происходит через единственный скрипт. Это позволяет отследить и предотвратить любую возможную атаку с использованием специально сформированных запросов.

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

Ввиду гибкой архитектуры eSci, эта CMS может быть использована в самых разных областях, от блоговой системы и простейшего форума до полноценного портала с многочисленными разделами, серьезным форумом, который может быть тесно интегрирован с сайтом, и разнообразными сервисами.

Разработчики искренне надеются, что eSci займет достойное место среди многоцелевых систем управления контентом, и его развитие будет определяться интересом сообщества.

Копирование материалов сайта допускается только с указанием ссылки