3

サーバーにファイルをアップロードするスクリプトがあります ここに私のコードがあります

ユーザーがサーバーにファイルをアップロードするとき

  1. 私のスクリプトはファイルの名前を変更し、詳細を db に保存します。

  2. ファイルを Web ルートの外に配置します。

私のアプローチは安全ですか?

4

2 に答える 2

1

はい、あなたのアプローチは安全です。すべてのファイルが Web ルートの外にアップロードされるためです。URL 経由で直接アクセスすることはできません。

于 2013-03-16T05:08:34.840 に答える
1

次のように、ファイルに対してさらに入力の検証を行う必要があります。

  • ファイルサイズを確認する

  • 「File Type Recogniser」でファイルの種類を確認します

  • コンテンツヘッダーを確認する

ファイル アップロードのベスト プラクティスは、 https ://www.owasp.org/index.php/Unrestricted_File_Upload で確認することもできます。

サーバー上でファイルを実行しないでください。

コンテンツタイプを確認するには(私はこれを自分でやったことがありません)、次のようなものを試すことができます:

$file = "path2file";
$finfo = new finfo(FILEINFO_MIME);
$type = $finfo->file($file);
if(in_array($type,array("application/zip", "application/x-zip", .. whatever content types are ok...)))
  //you passed
于 2013-03-16T05:08:49.533 に答える