6

PHPにはphar.readonly設定があり、デフォルトで有効になっており、構成ファイルを介してのみ無効にすることができます。

このオプションは、phar ストリームまたは Phar オブジェクトの書き込みサポートを使用した Phar アーカイブの作成または変更を無効にします。phar 拡張機能の便利な書き込みサポートにより、他の一般的なセキュリティの脆弱性と組み合わせると、php ベースのウイルスを簡単に作成できるため、この設定は運用マシンでは常に有効にする必要があります。

http://php.net/manual/en/phar.configuration.php

このコンテキストで書き込みサポートのデフォルトのブロックの理由は何ですか?

PHP には、より汎用的ですぐに利用できる書き込み方法があります。Phar の書き込みサポートの「便利さ」とは、セキュリティの観点から見て危険なものです。

4

1 に答える 1

0

読み取り専用を設定せずに書き込む必要がある場合は、ZIP または GZ コンテナーを使用できます。詳細については、Phar、Tar、および Zip の直接比較を参照してください。

PHAR を読み取り専用にすると、ハッカーの観点から効果的にロックダウンされます。phar.readonly=1PHP の Web バージョン (mod_php、php-cgi など) にデフォルトがある場合、実行中にオーバーライドされる可能性があるため、Phar ベースのアプリケーションを危険にさらすことは非常に困難になります。

また、ファイルが R/O でのみ開かれ、Web 要求 (本質的に同時実行可能) がファイルをロックせずに Phar にアクセスして使用できるという点で、パフォーマンス上の利点もあります。

通常、@scribu が説明するように、CLI ラッパーを使用してテスト構成で Phar をビルドし、Phar を関連するアプリケーション ディレクトリにコピーするだけで、公開されている Web サービスにインストールします。

于 2013-10-09T17:27:10.263 に答える