Назад | Перейти на главную страницу

Должен ли я добавить `/ dev / urandom` в PHP` open_basedir`?

Моя система - centos 7.4, с Apache 2.4.6 и PHP 5.4.
У меня следующая настройка в /etc/php.ini

open_basedir =.:/tmp/:/var/lib/php/session/
session.save_path = "/var/lib/php/session"
session.entropy_length = 0
;session.entropy_file = /dev/urandom

Я читаю Руководство по PHP ,

Примечание: удалено в PHP 7.1.0. Начиная с PHP 5.4.0 session.entropy_file по умолчанию имеет значение / dev / urandom или / dev / arandom, если он доступен. В PHP 5.3.0 эта директива по умолчанию оставлена ​​пустой.

Я спрашиваю, следует ли мне добавить /dev/urandom в open_basedir, Такие как:
open_basedir =.:/tmp/:/var/lib/php/session/:/dev/urandom/?

я считать вам не нужно, если ваш собственный PHP-код не должен читать из /dev/urandom либо с include() или fopen() или аналогичные функции.

AFAIK open_basedir ограничение встроено только в функции, которые принимают на вход любые имена файлов, указанные пользователем (разработчиком). Генератор сеанса (и, например, другие криптографические функции, которым нужны случайные данные) не читает только из любого имени файла, session.entropy_file должен быть установлен администратором, и очень маловероятно, что open_basedir ограничения были применены к конкретному коду, который будет читать случайные данные из этого сеанса.