1

ファイルアップロードフォームがあり、アップロードされたファイルをチェックして、サーバー上で問題を引き起こす可能性のあるもの (実行可能ファイル) ではないことを確認する必要があります。ファイルは主に画像ですが、さまざまな拡張子を持つ可能性のある生のファイル形式の他の拡張子を扱います。だから、やりたいことよりもやりたくないことのリストをもう一度確認するのが一番簡単な方法だと思います。

これを行う最善の方法は何ですか?理想的には、Windows サーバーと Linux サーバーの両方で動作するものですが、現在は両方の場合は主に Linux で動作します。

4

1 に答える 1

2

ブロックされたタイプのブラックリストではなく、許可されたタイプのホワイトリストを維持することをお勧めします. ただし、この種のチェックを回避することは簡単であるため、あらゆる種類のファイル拡張子ベースの処理を弱い防御線として扱います。

したがって、ファイル拡張子だけをチェックしないでください。ファイルのコンテンツ タイプが拡張子と一致することを検証する価値があるかもしれません - Fileinfo拡張子を参照してください。画像だけを使用している場合は、GD または ImageMagick を使用してファイルを再処理できます。

最後に、アップロードされたファイルはすべて、実行を許可しないファイル システムに保存することをお勧めします。Linux/UNIX プラットフォームでは noexec でマウントします

于 2012-05-20T20:52:20.677 に答える