2

Subtitle Workshop .srt-files のいくつかのエラーを修正する小さな PHP スクリプトがあります。正常に動作しますが、.srt ファイルの MIME タイプの検証に問題があります。問題のコードの一部を次に示します。

if ( $_FILES['file']['type'] != 'text/plain' &&
$_FILES['file']['type'] != 'application/x-subrip') {    
$error .= '<p>MIME type is not allowed!</p>';
}

.srt ファイルは、実際にはプレーン テキスト ファイルです。字幕を .txt ファイルにアップロードすると、スクリプトが正常に動作します。しかし、拡張子が .srt の同じファイルをアップロードしようとすると、「MIME タイプは許可されていません!」というメッセージが表示されます。エラー。「application/x-subrip」(ここで見つかりました) は明らかに犯人です。しかし、代わりに何を使用すればよいですか? 前もって感謝します!

4

1 に答える 1

2

この検証を行うことはできないと思います。プレーン テキスト ファイルには、「text/plain」、「application/octet-stream」、「text/str」など、多くの MIME タイプが含まれる場合があります。ホワイト リストを作成することもできますが、別のタイプの検証も行う必要があります。おそらくコンテンツ、またはライブラリの使用によるものです。

于 2016-05-10T19:43:12.873 に答える