その寄稿者は、すべてのMIME タイプ チェックは、クライアントまたはサーバー側では役に立たないと主張しています。
そしてある程度彼は正しい。MIME タイプのチェックは、常にファイルの特定の特性のスニッフィングに基づいています。彼の例: PDF ファイルは%PDF-1.4
. ただし、 で始まるファイル%PDF-1.4
は必ずしも PDF ファイルではありません。(簡単な説明です。)
ユーザーは適切なヒントをすべて適切な場所に配置できるため、MIME 検出器はファイルを特定の種類として検出します。これは、特定のヒントを調べているためです。ただし、ファイルの残りの部分はまったく異なるものになる可能性があります。とはいえ、そこまで行った場合、特定の種類のファイルを作成するのは何ですか? それはすべて、バイナリゴブルディグックです。最後に、ファイルがタイプ X の有効なファイルであることを確認できる唯一の方法は、タイプ X のファイルを予期するパーサーでファイルを開いて解析することです。正しく解析された場合、それはタイプ X として有用なファイルです。アヒルのように歩くなら、アヒルのように鳴く...
そのことを念頭に置いて、MIME タイプをスニッフィングするよりも、サーバー側で MIME タイプをスニッフィングするよりも、ファイルを解析しようとする方が適切です。MIME タイプをクライアント側でスニッフィングするよりも、ファイルの種類についてユーザーの言葉を受け入れるよりも優れています。クライアント側の MIME タイプのスニッフィングは、すべてクライアント側で行われるため、ユーザーの言葉を何でも受け入れるのと同じくらい信頼できないことに注意してください。