Задать вопрос

Как ограничить область выполнения PHP скрипта include?

Здравствуйте. Возникла следующая задача:

Представте себе веб сервер, на котором у каждого «пользователя» есть своя папка, в которую он может загружать свои скрипты. Скрипты — это модули к открытому API проекта, «пользователь» — это программист допущенный взаимодействовать с системой.

Использование скриптов «пользователей» всегда начинается с корневого index.php, который живет в document_root, далее в зависимости от URL собирается цепочка include, в какой то момент подключается кусочек с которым работал «пользователь».

Так как «пользователь» загружает скрипт на чистом PHP — зону видимости таких функций как file(), file_get_contents(), rmdir() необходимо ограничить и свести к работе внутри доверенной ему категории.

Вопрос может показаться глупым и тривеальным, но хочется найти оптимальный способ решения этой задачи.
Буду рад услышать ваши предложения по этому вопросу!
  • Вопрос задан
  • 3953 просмотра
Подписаться 3 Оценить Комментировать
Ответ пользователя Назар Мокринский К ответам на вопрос (5)
nazarpc
@nazarpc
Open Source enthusiast
Думаю, тут подойдет использование chroot, таким образом вы точно сможете запереть пользователя в его директории.
Ответ написан