ホームページ >バックエンド開発 >PHPチュートリアル >PHP ファイル アップロード セキュリティ ガイド: move_uploaded_file 関数を使用してアップロードされるファイルの種類を制限する方法
PHP ファイル アップロード セキュリティ ガイド: move_uploaded_file 関数を使用してアップロードされるファイルの種類を制限する方法
はじめに:
インターネットの発展に伴い、ファイル アップロード機能は Web サイトで重要な役割を果たしています。ただし、ファイルのアップロード機能がハッカー攻撃の入り口の 1 つになることがよくあります。サイトとユーザーのセキュリティを保護するために、ファイルのアップロード機能にセキュリティ対策を講じる必要があります。この記事では、PHP の move_uploaded_file 関数を使用してアップロードされるファイルの種類を制限する方法と、対応するコード例を紹介します。
move_uploaded_file 関数は、アップロードされたファイルを新しい場所に移動するために使用される PHP の関数です。その構文は次のとおりです。
bool move_uploaded_file (string $filename, string $destination)
このうち、$filename はアップロードされたファイルの一時パスを表し、$destination はターゲット パスを表します。ファイル移動の様子。この関数は、ファイルが正常に移動されたかどうかを示すブール値を返します。
アップロードされるファイルの種類を制限するには、PHP で $_FILES グローバル変数を使用します。具体的な手順は次のとおりです。
ステップ 1: ファイルの拡張子を取得する
#PHP の pathinfo 関数を使用してファイルの拡張子を取得できます。コードは次のとおりです:$extension = pathinfo($_FILES'file', PATHINFO_EXTENSION);このうち、$_FILES['file']['name']はアップロードされたファイルの元のファイル名を表し、 $extension はファイルの拡張子を表します。 ステップ 2: 許可されるファイル タイプを定義する配列を使用して許可されるファイル タイプを定義できます。コードは次のとおりです:$allowed_types = array('jpg' 、'jpeg'、'png');そのうち、'jpg'、'jpeg'、および 'png' が許可されるファイル タイプです。 ステップ 3: ファイル タイプが正当であるかどうかを確認する in_array 関数を使用して、ファイル拡張子が許可されたファイル タイプ配列内にあるかどうかを確認できます。コードは次のとおりです。 if (!in_array($extension, $allowed_types)) { echo "アップロードできるのは jpg、jpeg、png ファイルのみです";
exit;
}
$filename = $_FILES'file';
$destination = $upload_dir . $filename;
echo "文件上传成功";} else {
echo "文件上传失败";}このうち、$upload_dir はターゲット ディレクトリを表します$filename はファイルの元のファイル名を表し、 $destination はファイルの移動先のパスを表します。
以上がPHP ファイル アップロード セキュリティ ガイド: move_uploaded_file 関数を使用してアップロードされるファイルの種類を制限する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。