PHP 画像アップロードのセキュリティ チェックリスト: 包括的な保護
PHP 画像アップロード スクリプトのセキュリティを確保するには、徹底したセキュリティ対策を実装することが重要です。以下は包括的なチェックリストです:
- PHP の実行を無効にする: .htaccess ファイルを使用してアップロード ディレクトリ内で PHP コードが実行されないようにします。
- ファイル名内の PHP のフィルタ: を含むファイル名を持つアップロードを拒否します"php."
- ファイル拡張子の制限: 受け入れられるファイル拡張子を画像 (jpg、jpeg、gif、png など) に制限します。
- 画像タイプの確認: getimagesize() を使用して、アップロードされたファイルが本物の画像タイプであることを確認します。
- Double を許可しないファイル拡張子: MIME タイプに複数のスラッシュが含まれるファイルを確認します。これは、悪意のあるスクリプトを使用して画像をアップロードしようとする可能性を示しています。
- ファイル名の変更: アップロードされたファイル名を次のように変更します。予測可能なファイル名による悪用を防ぎます。
- サブディレクトリにアップロード: アップロードされた画像をサブディレクトリに保存して、Web サイトへの直接のアクセスを防ぎます。 access.
追加の推奨事項:
- ** move_uploaded_file() を使用する: move_uploaded_file() を使用して、アップロードされたファイルを宛先パスに割り当てます。
- GD (または Imagick) 処理: GD または Imagick を使用してアップロードされた画像を再レンダリングします。潜在的な脅威を軽減する Imagick。
- 制限付きアップロード ディレクトリ: 悪用を防ぐために、アップロード ディレクトリを厳しく制限します。