(1)Webブラウザが受信ファイルの内容を解析して見分けている (2)HTTPレスポンスの「Content-Type」ヘッダーに指定された情報に基づき見分けている (3)HTTPリクエストの「Cookie」ヘッダーに指定された推定しづらい長さの文字列に基づき見分けている 仕様的には(2)が正解であるべきなのですが、それだけで済めば苦労はないですね。XP SP2 の IE6 からは、セキュリティの設定で「拡張子ではなく、内容によってファィルを開くこと」を無効にできるようになりましたが、デフォルトでは有効ですからファイルの内容解析が優先されてしまいます。 このあたりをちゃんと理解していないと、「image/jpegなのにXSS」という悲劇が起きたりしますので危険です。過去に実際にあったケースしては、 ユーザが任意の画像を添付できるサービス通常は HTML は添付できないスクリプトを含む HTM