[Из песочницы] Песочница для PHP
В одном из наших проектов существует возможность написания плагинов для расширения функционала сервиса. Пользователи создают плагины-приложения в нашем интерфейсе и описывают их логику на PHP. Необходимо было ограничить возможности PHP, чтобы никто нам случайно не нашкодил. Существует некоторое количество инструментов для исполнения кода PHP в защищенной среде: выполнение в отдельном процессе, сохранение кода в файле и вызов через cli с урезанными возможностями или использование специализированных расширений для PHP. В силу специфики сервиса и приложений, а так же для возможности использования песочницы на всех ОС (процессы и расширения для sandbox не работают в Windows) с базовыми настройками PHP был написан небольшой класс: Ext_Sandbox_PHPValidator.Читать дальше →