私は常に、プログラム実行 PHP 関数の使用を避けてきました。私が行ったすべての検索と読み取りから、システム関数を使用してパスワードで保護された ZIP ファイルを解凍するしかないようです。
パスワードで保護されたファイルを解凍できるPHPライブラリがない場合、これは本当に唯一のオプションですか?
システム機能を使用する必要がある場合、その使用を必要なコマンドだけに制限する方法や、潜在的な脆弱性を防ぐためにできることはありますか? VPSを持っています。
はい、 PHP で圧縮ファイルを処理するためのZlibやZipなどの優れた拡張機能がありますが、これらの拡張機能を使用してパスワードで保護されたファイルを作成または抽出することはできません。
それを達成するには、サードパーティのライブラリ(ライブラリが存在するかどうかはわかりません)を見つける必要があります。または、単にプログラムの実行を使用し続ける必要があります。
また、 passthru()を使用していくつかの実験を行い、無効にしshell_exec
たりsystem
、危険なメソッドを使用したりすることもできます。