open basedir — можно ли применить PHP open_basedir к путям сокетов?

Руководство PHP гласит:

open_basedir (строка)

Ограничьте файлы, к которым может обращаться PHP, указанным деревом каталогов, включая сам файл. Эта директива НЕ зависит от того, включен ли безопасный режим или нет.

Когда скрипт пытается получить доступ к файловой системе, например, с помощью include или fopen (), проверяется местоположение файла. Когда файл находится за пределами указанного дерева каталогов, PHP откажется к нему.

Кроме того, немного дальше …

open_basedir может влиять не только на функции файловой системы; например, если MySQL сконфигурирован для использования драйверов mysqlnd, open_basedir затронет LOAD DATA INFILE. Таким образом, большая часть расширенной функциональности PHP использует open_basedir.

Однако, похоже, что это ограничение не распространяется на манипуляции с сокетами. На моем сервере, хотя я установил open_basedir в /home:/tmp, Я все еще могу получить доступ к файлу сокета под /run сквозь socket_connect функция (обратите внимание, что я не двигался /var/run (/run) в какое-то искривленное место под /home или же /tmp).

Есть ли способ продлить open_basedirограничения на включение файлов сокетов * путей, так что невозможно открыть файл сокета вне /home а также /tmp?

* Я понимаю, что файлы сокетов на самом деле не «открыты», а скорее «связаны» через socket_connect функция и bind системный вызов. Тем не менее, так как open_basedir кажется, применяется к функциям, не относящимся к файловой системе … Я предполагаю, что может быть способ.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]