私は、画像を投稿するためにPHPで作成した画像アップロードプログラムの設定をしています。ファイルが実際に画像であることを確認する方法を見つけるのが難しいです。私はファイルの種類をチェックしていますが、他のチェックの中でもgetimagesize()を使っていますが、テキストファイルの名前をJPGファイルに変更すると、ファイルの検証によってファイルが許可されます。これが実際に画像であることをどうすれば保証できますか?私は上司に感染ファイルを実行させたくありません。PHPによる画像アップロードの検証
1
A
答えて
0
チェックが許可拡張子が
の.gif .jpgのJPEG形式の.pngあなたはImagickのidentifyImage()コマンドを使用することができます
0
許可する必要があります。
エラーが返ってきた場合や、画像データがない場合は、画像ではなく画像データを返します。このツールのコマンドラインバージョンがあります:http://www.imagemagick.org/script/identify.php imagemagickでPHPをコンパイルしていない場合
0
Exifモジュールのexit-imagetype()関数の使い方はどうですか?
http://www.php.net/manual/en/function.exif-imagetype.php
<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
echo 'The picture is not a gif';
}
?>
0
GDを使用して、アップロードした画像を再現します。画像が再生されない場合、画像ではありません!
この関数がfalseを返した場合、有効な画像ではありません。私はJPG、PNGやGIFよりも、それ以上に働いていないので、この関数(BMP?)に収まることができるそこにいくつかのより多くの画像タイプ...
function checkFileType($filetype,$tmp_name)
{
$return_val = false;
switch($filetype){
case 'image/jpg':
case 'image/jpeg':
case 'image/pjpeg':
$return_val = @imagecreatefromjpeg($tmp_name);
break;
case 'image/gif':
$return_val = @imagecreatefromgif($tmp_name);
break;
case 'image/png':
case 'image/x-png':
$return_val = @imagecreatefrompng($tmp_name);
break;
}
return $return_val;
}
+0
簡単な画像確認のためにこれを行いますか? getimagesize()を使用して、ファイルが実際のイメージかどうかを判断してください。あなたが提供したソリューションは、それが何のために遅くて複雑でもあります。 –
関連する問題
- 1. Laravel AJAX画像アップロードの検証
- 2. 有価証券アップロード画像PHP
- 3. PHP画像アップロード
- 4. 画像アップロードphp mysql
- 5. サーバーサイドのフォーム検証PHPアップロード
- 6. PlayFramework 1で画像のアップロードを検証する方法は?
- 7. PHPの画像のアップロード
- 8. PHPのjqueryの画像アップロード
- 9. PHPのプロファイルのアップロード画像
- 10. PHPファイルのアップロード(画像)
- 11. アップロード画像PHPの問題
- 12. PHPファイルのアップロードは、画像
- 13. 検証複数の画像サイズ画像サイズが有効でない場合、アップロード
- 14. グリッドビューによる画像アップロード
- 15. サーバーに画像をアップロードするPHP Android
- 16. PHP画像ワンボタンでアップロード
- 17. PHP - アップロードPNG画像透明
- 18. Html PHP Ajax画像アップロード
- 19. アップロードPHPコードは、画像
- 20. アップロード画像php mysql binary
- 21. PHPで画像をアップロード
- 22. PHPサーバーへのHttpURLConnectionによるパラメータと画像のアップロード
- 23. 複数の画像をアップロードする、PHP
- 24. jQuery:アップロードする前に画像の寸法を検証する方法は?
- 25. アンドロイドからPHPサーバに画像をアップロード
- 26. PHP/SQL画像をデータベースにアップロード
- 27. php&ajaxでデータベースに画像をアップロード中
- 28. PHP Excel画像を注文順にアップロード
- 29. DjangoとWebtestによる画像のアップロード
- 30. 検証ダウンロードした画像
使用しているgetimagesize(があるかもしれません)次元が有効な配列を返すことを確認してください。ファイルの名前を.txtに変更しても、ファイルの実際のヘッダーは保持されます。ファイル拡張子の単純なチェックは、それが目標であればうまくいくでしょう。 –