画像アップロード時のファイル名を、ハッシュ値に書きかえている実装をよく見るのですが、あれって別にハッシュじゃなくても良いのでしょうか?
・例えば、下記URLにアップロードする際、画像ファイル名を(容易に推測されやすい)256.jpgに書き変えると、セキュリティ的にマズいのでしょうか?
<URL例>
・http://〇〇/256.php
■分からない点
・「ブラウザから渡されたファイル名は汚染リスクがある」と書いてあったのですが、この意味は、「ブラウザから渡されたファイル名をそのまま使用してはいけない」ということだけでしょうか?
・書きかえるファイル名は何でも良い?
・上記のように、推測されやすいファイル名でも問題ない?
■質問背景
・ファイル名をハッシュ値に書き換えると、FTPとかで確認する際やりづらいかなと思い、質問しました
No.1ベストアンサー
- 回答日時:
>「ブラウザから渡されたファイル名は汚染リスクがある」と書いてあったのですが、
>この意味は、「ブラウザから渡されたファイル名をそのまま使用してはいけない」
>ということだけでしょうか?
はい。
>書きかえるファイル名は何でも良い?
はい。重複さえしなければいいです。データの(バイナリの)ハッシュ値を使えば「中身が同じ画像なら同じファイル名」になるので無駄がなくなる(ことが期待できる)というのはありますが、二次的な話です。バイナリでなくmicrotime()やアップロードユーザ名+追番などのハッシュ値を使うこともありますしね。
>上記のように、推測されやすいファイル名でも問題ない?
問題ないです。隠すことが主目的ではありませんので。
本当に隠蔽したいなら、httpでアクセスできない場所(DocumentRootより上の階層とか、.htaccessでアクセス不能にしたディレクトリ)に置いて、phpスクリプト経由でしかアクセスできなくします。httpでアクセス可能な場所に置くのであれば、アクセスされることは想定すべきです。
回答ありがとうございました。
>データの(バイナリの)ハッシュ値を使えば「中身が同じ画像なら同じファイル名」になるので無駄がなくなる(ことが期待できる)というのはありますが、二次的な話
・なるほど、そういう意味なんですね
・説明、大変分かりやすかったですー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- その他(IT・Webサービス) WPからダウンロードしたファイル名を指定したい 2 2022/04/08 08:31
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- YouTube ユーチューブへの動画投稿にサムネイルを付ける方法は? 1 2022/07/21 23:45
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
透過PNGが透過されない!!
-
C# Excelファイルへの画像挿入。
-
ビットマップ画像を読み込むプ...
-
Illustratorで文字と画像を流し...
-
手作業で埋め込んだ、UserForm1...
-
VBAでJPGサイズ変更
-
PHPで画像コピーについて
-
PHP MySQLに画像を直接保存
-
PHPで吐き出した画像にリンクを...
-
move_uploaded_fileのエラーについ
-
「imagejpeg」(GD)で作成した...
-
Pythonで画像の読み込みが上手...
-
ウィンドウサイズを取得して、p...
-
ListViewコントロールでサムネ...
-
画像リストを作りたい
-
アップロード画像数でCSSを分け...
-
php,mysqlにて画像パス保存/表...
-
imageフォルダに、画像をリサイ...
-
再投稿です。初MacでPythonの勉...
-
onedrive にexcelファイルをア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
拡張子php画像をjpg画像等に変...
-
透過PNGが透過されない!!
-
Illustratorで文字と画像を流し...
-
アップロード画像数でCSSを分け...
-
imageフォルダに、画像をリサイ...
-
PythonのTkinter詳しい方へ。画...
-
VBAでJPGサイズ変更
-
C# Excelファイルへの画像挿入。
-
ListViewコントロールでサムネ...
-
PHPで吐き出した画像にリンクを...
-
php,mysqlにて画像パス保存/表...
-
PHP+PostgreSQLを使ってPDFファ...
-
スマートフォンから画像のアッ...
-
画像にテキストを埋め込むジェ...
-
実行ファイル(exe)に画像ファ...
-
ビットマップ画像を読み込むプ...
-
改行コードのカウント
-
Ajaxで画像表示
-
画像アップロードのファイル名...
おすすめ情報