ホームページ > データベース > mysql チュートリアル > PHP ファイルのアップロードでファイルの種類を安全に制限するにはどうすればよいですか?

PHP ファイルのアップロードでファイルの種類を安全に制限するにはどうすればよいですか?

DDD
リリース: 2024-11-03 03:13:02
オリジナル
511 人が閲覧しました

How to Securely Restrict File Types in PHP File Uploads?

PHP ファイルのアップロード: ファイルの種類の制限

ファイルのアップロードを処理するときは、アップロードされたファイルの種類とサイズを検証して、セキュリティと安全性を確保することが重要です。意図した機能を維持します。提供されたコードは、ファイル拡張子、タイプ、サイズをチェックすることによってこれを行うことを目的としています。ただし、いくつかの問題があります。

元のコードの問題:

  • ファイル タイプを強制しません。未承認の拡張子 (TXT など) を持つファイルが許可されます。
  • ファイル サイズが正しくチェックされません。

解決策:

これらの問題に対処するには、ファイルの検証に MIME タイプを利用し、サイズ制限を個別にチェックします。

更新されたコード:

<code class="php">function allowed_file() {
  // Allowed mime types
  $allowed = array('application/doc', 'application/pdf', 'another/type');

  // Validate file type using mime type
  if (in_array($_FILES['resume']['type'], $allowed) && in_array($_FILES['reference']['type'], $allowed)) {

    // Validate file size
    if ($_FILES["resume"]["size"] < 400000 && $_FILES["reference"]["size"] < 400000) {

      // Files are allowed; proceed with upload process...
    }
  }
}</code>
ログイン後にコピー

説明:

  • 許可される MIME タイプの配列を定義します。
  • アップロードされたファイルごとに、その MIME タイプが許可される配列内にあるかどうかを確認します。
  • ファイル タイプを検証した後、サイズ チェックを実行して、指定された制限を下回っていることを確認します。
  • すべての検証に合格した場合は、目的の宛先に移動するなど、ファイルのアップロード プロセスを続行できます。

以上がPHP ファイルのアップロードでファイルの種類を安全に制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート