Возможный дубликат:
PHP песочница / дезинфицировать код, переданный create_function
Прошу прощения за очень обобщенный вопрос, но мне нужно руководствоваться. Каков наиболее идеальный способ выполнения PHP-кода, представленного пользователем? Подумайте о JSFiddle для PHP. Я знаю, что есть сайты, которые делают это, например, http://writecodeonline.com/php/, но я думаю, что это PHP4 и не работает с половиной кода, который я пытаюсь запустить на нем. Я также знаю, что могу просто отключить все «рискованные» функции, но это не весело 🙂
Я знаю, что было бы очень удобно иметь PHPFiddle.com, на который мы могли бы ссылаться на StackOverflow так же, как мы полагались на JSfiddle или JSbin.
Я думаю что-то вроде создания виртуального хоста на моем ящике, поэтому любые функции файловой системы, которые пользователь пытается использовать, будут ограничены этой песочницей. Я не уверен, как это сделать, или если это приведет к тому, что мой сервер будет работать с несколькими из них.
Идеи?
Я всегда задавался вопросом, насколько хорошо бы иметь облачную среду IDE, где я мог бы разместить все мои PHP-файлы, протестировать их, поделиться им и т. Д., В основном он должен быть способен делать все, что я делаю на своем компьютере. и до недавнего времени я наткнулся на очень приятную Cloud IDE под названием Kodingen . это такое полезное облачное приложение и так удобно время от времени. однако ниже приведен список некоторых услуг, которые предлагают вам запустить PHP-код.
Взгляните на Runkit_Sandbox: http://php.net/manual/en/runkit.sandbox.php
Создание экземпляра класса Runkit_Sandbox создает новый поток со своей областью и стеком программ. Используя набор параметров, переданных конструктору, эта среда может быть ограничена подмножеством того, что может сделать первичный интерпретатор, и обеспечить более безопасную среду для выполнения кода, предоставленного пользователем.