|
Runkit_Sandbox_Parent(PECL runkit >= 0.7.0) Runkit_Sandbox_Parent — Класс анти-песочницы для Runkit Описание
void Runkit_Sandbox_Parent::__construct
( void
)
Экземпляр Runkit_Sandbox_Parent, созданный внутри окружения Runkit_Sandbox предоставляет набор контролируемых средств для доступа к внешнему окружению из песочницы.
Для использования Runkit_Sandbox_Parent необходимо включить опцию parent_access у используемого экземпляра песочницы. Пример #1 Задействует возможность использовать Runkit_Sandbox_Parent в песочнице
<?php Доступ к переменным родительского окруженияДоступ к переменным родительского окружения может быть получен через свойства экземпляра Runkit_Sandbox_Parent по аналогии с Runkit_Sandbox. Доступ на чтение включается с помощью опции parent_read песочницы, на запись с помощью parent_write. Данные опции указываются в дополнении к parent_access. В отличие от доступа к переменным Runkit_Sandbox, область видимости не ограничена глобальными переменными. Задать необхоимую область видимость из песочницы можно параметром parent_scope. Значение 0 (по умолчанию) означает доступ к глобальной области видимости. 1 указывает на область вызова песочницы. Последующие значения ведут на следующие уровни области видимости. Пример #2 Доступ к переменным родительского окружения
<?php Результат выполнения данного примера: string(6) "Global" string(7) "three()" string(5) "two()" string(5) "one()" string(6) "Global" string(6) "Global" Вызов функций родительского окруженияПо аналогии с доступом к песочнице, из песочницы можно получить доступ к функциям в родительском окружении. Включение parent_call позволит из песочницы получить доступ к родительским функциям. Следующими функции и языковыми конструкциями можно управлять с помощью отдельных настроек: print() и echo() задействуются с помощью parent_echo; die() и exit() включаются через parent_die; eval() разрешается через parent_eval. Функции include(), include_once(), require(), и require_once() можно подключить, используя параметр parent_include. |
|