0

.htaccess を介して CentOS でアーカイブ ファイルの種類 (例: zip、rar など) を禁止する方法があるかどうか疑問に思っていました。現在、安全ではないアップロード スクリプトを使用しています。一時的な修正として、ファイルのコレクションを保持するあらゆる種類のファイルをアップロードできないようにしたいと考えています。

または、特定のファイル (jpg など) のみを .htaccess 経由でアップロードできるようにしたいと考えています。そうすれば、サーバー全体ではなく、アカウントに限定されます。

4

3 に答える 3

1

アップロード中にファイルのファイル拡張子を確認し、不要なファイルを破棄する必要があります。

さらに、 finfo_file()メソッドを使用してファイルのタイプを確認できます。

編集:

さらに、さらにセキュリティが必要な場合は、アップロードされたファイルから画像リソースを作成しようとするimagecreatefromgif( )またはimagecreatefromjpeg()またはimagecreatefrompng()を呼び出すことができます。これにより、Procyon82 が言及した問題を回避できます。

Schraalhans Keukenmeesterによる4 番目のコメントからの例

if (!$img = @imagecreatefromgif($uploadedfilename)) {
  trigger_error('Not a GIF image!',E_USER_WARNING);
  // do necessary stuff
}
于 2013-09-20T18:14:40.590 に答える
0

ファイル名がURIまたはクエリ文字列自体に含まれていない限り、htaccessは役に立ちません。実際、アプリケーションの問題のトランスポート ソリューションを見つけようとするべきではありません。アップロード スクリプトでこれを修正する必要があります。

htaccess ファイルは、ファイルのアップロードについては何もしません。

于 2013-09-20T17:59:59.467 に答える