Включение opcache.restrict_api из соображений безопасности

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

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

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

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

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

Спасибо

1 ответ

Решение

Смотрим на исходный код ext / opcache / zend_accelerator_module.c

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

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

Другие вопросы по тегам