Здравствуйте. Делаю что-то вроде сайта с редактором PHP кода. При нажатии на клавишу просмотра, у меня в специальной директории создаётся папка с уникальным id и в ней файл с самим php кодом (пример: /_projects/6dfh78d76dfg87/index.php). Дальше эта страничка открывается в iframe.
Так вот к проблеме: столкнулся с проблемой безопасности. С созданного файла можно редактировать любой файл сайта (.htaccess и другие файлы сайта). Я набросал пару вариантов ограничить доступ к файлам своего сайта:
/_projects/{ID}/ обращаться к
файлам, которые находятся вне папки {ID}scandir,
dirname...Но не знаю, как можно осуществить эти варианты. Подскажите, как можно их осуществить или кто-то знает вариант получше? Буду очень признателен. Заранее спасибо.
Самым надежным вариантом будет запуск кода внутри контейнера (например, Docker) с настроенным SECCOMP и selinux SELinux. При этом вы можете запускать любой код, а не только PHP.
Код может делать почти, что угодно и ограничить его можно как угодно.
Презентация о том как можно обезопасить Docker container Слайды и Видео
Сборка персонального компьютера от Artline: умный выбор для современных пользователей