0

サーバー側でmobiファイルを生成したいと考えています。これには、Amazon の kindlegen (epub から mobi を生成するため) を使用する必要があります。exec を有効にすることは完全に安全ではないことを読みましたが、私の質問は次のようなものを使用するかどうかです

exec('kindlegen ' . $epubInput . ' -c0 -o ' . $mobiOutput );

何かがうまくいかない可能性はありますか?2 つの変数 ($epubInput$mobiOutput) はユーザー入力からではなく、スクリプトによって生成されます。別の質問(不可能だと思います)ですが、execが特定のファイル(私の場合はkindlegen)のみを実行できるようにする設定はありますか?

4

2 に答える 2

1

これらの値を生成するコードがだまされて悪意のある値を生成できるかどうかによって異なります。この場合、実際にはそのようには見えませんが、確認する必要があります。

escapeshellargを呼び出す前に、2 つの引数に対しても使用する必要がありますexec。値があなたの管理下にある場合、これは厳密には必要ではありませんが、そうすることに反対する議論はありません。

于 2012-10-11T08:58:33.303 に答える
1

escapeshellarg()すべての引数をエスケープするために使用する必要があります。これにより、他のスクリプトの結果について心配する必要がなくなります。

于 2012-10-11T09:00:08.157 に答える