Включение opcache.restrict_api в целях безопасности

Включение opcache.restrict_api в целях безопасности

Эта статьяговорит, что имеяopcache_get_status()включено — это риск безопасности. Чтобы отключить, нужно настроить opcache.restrict_api, но я не смог найти пример, как это сделать.

Этот человекимел ограничение, действующее при настройке как opcache.restrict_api=/restricted, что дает мне подсказку, что это должен быть путь.

Я начал с создания тестового скрипта с opcache_get_status()вызовом, и получил вывод множества PHP-скриптов на этой системе, подтверждающий отсутствие ограничений. Затем я отредактировал свой /etc/php/7.3/fpm/php.iniна have opcache.restrict_api=/dev/null, и тот же самый вызов теперь возвращается bool(false)- я полагаю, что ограничение включено.

Моя цель — полностью запретить opcache_get_status()и т. п., а «разрешая» скрипты в /dev/null, я по сути делаю невозможным их использование, поскольку вы не можете создать там файл.

  • Верна ли эта логика?
  • Может быть, мне следует использовать какой-то другой путь?
  • Есть ли способ включить ограничение напрямую, не возясь с поддельными путями?

Спасибо

решение1

Глядя на исходный кодext/opcache/zend_accelerator_module.c

Такжевот еще кто-то используетopcache.restrict_api=1слишком.

Пожалуйста, поправьте меня, если я где-то ошибаюсь! До тех пор я думаю, что это в значительной степени отвечает на мой вопрос.

Связанный контент