ГлавнаяСправка по использованию серверного ActionScriptГлобальные функции › getGlobal()

getGlobal()

getGlobal()

Предоставляет доступ к глобальному объекту из файла secure.asc в процессе загрузки файла. Функция getGlobal() используется для создания защищённых системных запросов.

Доступно начиная с версии сервера

Flash Media Server 2

Подробное описание

Flash Media Interactive Server имеет два режима выполнения скриптов: безопасный и обычный. В безопасном режиме загружается и признается только файл secure.asc (если он есть) — никакие другие скрипты приложения не загружаются. Функции getGlobal() и protectObject() доступны только в безопасном режиме.
Эти функция весьма мощный инструмент, предоставляющий полный доступ к среде выполнения программы, а так же позволяет создавать системные объекты.
Если загружен файл secure.asc, сервер перейдет в режим нормального исполнения скриптов после перезагрузки приложения.

Что бы предотвратить непреднамеренный доступ к глобальному объекту, всегда храните ссылку на него во временной переменной (объявленной через var);
не храните ссылку внутри членов класса или глобальных переменных.

Пример использования

следующий код определяет ссылку на глобальный объект:

var global = getGlobal();

Защита скриптов от стороннего кода

Flash Media Server имеет мощную модель скриптовой безопасности, которая позволяет безопасно включать сторонний код в FMS приложение. Например, модель безопасности можно использовать для предотвращения доступа к файлу или предотвращения исходящего сетевого соединения вызванного сторонним кодом. Вы должны также защищать код в расширяемых приложениях, позволяющих пользователям скачивать и загружать сторонние плагины в FMS приложение. Что бы безопасно включать сторонний код в ваше приложение, вы должны защищать каждый объект приложения учитывая тот факт, что исполнение вредоносного или дефектного стороннего кода, может причинить ущерб.

Предостережение: Модель скриптовой безопасности Flash Media Server не предназначена для обнаружения и предотвращения ошибок стороннего кода, таких как бесконечные циклы.

Данный раздел предоставляет информацию о создании защищённых объектов (также называемые системные объекты), и приводятся примеры того, как обеспечить синхронные и асинхронные запросы к этим объектам.

Толкование системных объектов

Системный объект это встроенный или же определённый пользователем объект находящийся в оболочке C-layer кода, что предохраняет его от кода приложения. Все вызовы, обращенные к системному объекту проходят через C оболочку; Объект никогда не может быть доступен или рассмотрен напрямую.

Для создания системных объектов используйте файл с именем secure.asc (или secure.js или secure.ase) который в дальнейшем нужно разместить в папке с вашим приложением. В процессе загрузки приложения, Flash Media Server обнаруживает этот файл и автоматически загружает его, перед тем как будут обработаны любые другие файлы серверных скриптов.

В нормальном режиме исполнения скриптов все скрипты, включая и сторонний код, загружаются и исполняются. Функции getGlobal() и protectObject() не доступны в нормальном режиме, что предотвращает доступ к ним и выполнение из стороннего кода.

Все методы, определенные в системном объекте являются защищёнными и, следовательно, могут считаться привилегированным. Хотя Flash Media Server явно и не поддерживает уровень привилегий, Вы можете использовать защищённые объекты, для реализации любой модели безопасности, например:

  • Системные вызовы
  • Кольца защиты — архитектура информационной безопасности и функциональной отказоустойчивости, реализующая аппаратное разделение системного и пользовательского уровней привилегий.
  • Списки Контроля Доступа (Access Control List, ACLs)
Примечание: Количество системных объектов неограниченно; любой объект, который защищён вызовом функции protectObject() является системным объектом.

Остальные методы и свойства

Ярлыки: ,

  1. Пока без комментариев.
  1. Пока нету.