0

私は、人が画像 (プロフィール画像、背景画像など) をアップロードして表示できるようにする多くの Web アプリに取り組んできました。私が遭遇した問題は、通常、ユーザーが使用できる特定の形式 (jpg、png、jpeg、gif など) を提供することです。

問題は、プロフィール写真を持っていると仮定すると、jpeg、png、gif をアップロードする人がいるということです。ファイルをどの形式で保存する必要がありますか? つまり、「profile.jpeg」、「profile.png」、または単に「profile」です。

ファイル拡張子を除外するだけでブラウザが画像を開くことに気付きましたが、これは安全ですか?

4

1 に答える 1

0

ファイル拡張子はファイル形式を決定しません。.png で終わる .gif をアップロードすると、ブラウザに問題なく表示されます。(.exe や .foo などを使用することもできますが、画像は引き続き表示されます。)

つまり、拡張機能はセキュリティとは何の関係もありません。

一方、未知のファイルをブラウザに渡して画像として表示することによるセキュリティ上のリスクについては認識していません。がある場合<img src="virus.exe">、ファイルは有効な画像ファイルではないため、ブラウザは何もしません。

確認したい場合は、アップロードされたファイルが有効な画像であることをサーバーで確認し、そうでない場合は破棄できます。

于 2013-01-12T08:22:01.593 に答える