• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像アップロードのファイル名はハッシュ以外でも可?)

画像アップロードのファイル名はハッシュ以外でも可?

このQ&Aのポイント
  • 画像アップロード時のファイル名を、ハッシュ値に書きかえている実装をよく見るのですが、あれって別にハッシュじゃなくても良いのでしょうか?
  • ブラウザから渡されたファイル名をそのまま使用すると、セキュリティリスクがあるため、通常はハッシュ値に書き換えます。しかし、ハッシュ以外の別のファイル名でも問題ありません。
  • 推測されやすいファイル名を使用すると、セキュリティ的なリスクが高まるため、推測されにくいファイル名を使用することが一般的です。

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

>「ブラウザから渡されたファイル名は汚染リスクがある」と書いてあったのですが、 >この意味は、「ブラウザから渡されたファイル名をそのまま使用してはいけない」 >ということだけでしょうか? はい。 >書きかえるファイル名は何でも良い? はい。重複さえしなければいいです。データの(バイナリの)ハッシュ値を使えば「中身が同じ画像なら同じファイル名」になるので無駄がなくなる(ことが期待できる)というのはありますが、二次的な話です。バイナリでなくmicrotime()やアップロードユーザ名+追番などのハッシュ値を使うこともありますしね。 >上記のように、推測されやすいファイル名でも問題ない? 問題ないです。隠すことが主目的ではありませんので。 本当に隠蔽したいなら、httpでアクセスできない場所(DocumentRootより上の階層とか、.htaccessでアクセス不能にしたディレクトリ)に置いて、phpスクリプト経由でしかアクセスできなくします。httpでアクセス可能な場所に置くのであれば、アクセスされることは想定すべきです。

re97
質問者

お礼

回答ありがとうございました。 >データの(バイナリの)ハッシュ値を使えば「中身が同じ画像なら同じファイル名」になるので無駄がなくなる(ことが期待できる)というのはありますが、二次的な話 ・なるほど、そういう意味なんですね ・説明、大変分かりやすかったですー

関連するQ&A