セキュリティ上の理由から 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たところopcache.restrict_api=/dev/null、同じ呼び出しで が返されるようになりましたbool(false)。制限が有効になっていると解釈しています。

私の目標は、opcache_get_status()などを完全に禁止することであり、 の下でスクリプトを「許可」することで/dev/null、そこにファイルを保存できないため、実質的に使用できなくなってしまいます。

  • この論理は正しいでしょうか?
  • 他のパスを使用する必要があるでしょうか?
  • 偽のパスをいじらずに制限を直接有効にする方法はありますか?

ありがとう

答え1

ソースコードを見るとext/opcache/zend_accelerator_module.c

また他にも使っている人がいますopcache.restrict_api=1あまりにも。

どこか間違っている場合は訂正してください。それまでは、これで私の質問にほぼ答えられたと思います。

関連情報