質問: 画像を直接上げてはいけない原因を調べたところ、 Webで画像を表示する場合、imgのsrc属性に画像が置いてあるURLを指定するというのが一般的だと思います。 画像URLを指定するというのは、画像を表示するためにそのURLにアクセスできるということを表しています。 そこで, 画像をHTMLやCSSに埋め込めるようにする為に、画像をbase64にエンコードします 参考URL これで大丈夫でしょうか?画像は表示されました。
回答: #あぁ、ファイルアップロードで保存するファイルの話なんですね(汗 そもそも「アップロードされたファイル」がちゃんと画像ファイルかどうか調べないとダメです。 $_FILES[]['name'] による「ファイル名」の拡張子や、$_FILES[]['type'] での MIMEタイプなどをアテにしてはいけません。これらの値はクライアント側でセットされるので詐称可能です。 アテにしていいのは $_FILES[]['error'] と $_FILES[]['tmp_name'] だけと言ってもいいです(正常にアップロードされたかと、それを保存しているテンポラリファイルのpath)。 あ、$_FILES[]['size'] も大丈夫ですね。滅多に使うことがないので(画像の縦横サイズの方が重要なので)アレですが。 ・ FILEINFO_MIME_TYPE が imahe/jpegなどの期待する内容かどうか。 ・ 画像サイズが適切な範囲内かどうか(最大サイズを超える場合はリサイズ処理を組み込む)。