ファイルをアップロードおよびダウンロードできるサイトへの攻撃について読んでいました。いくつかの攻撃は、実際には html ファイルである jpg をアップロードすることと、ユーザーが html を保存してダウンロードできるようにする (または、名前を付けて保存機能を使用せずにブラウザーで表示する) ことを許可するかどうかについてのコメントに関するものでした。
実行しないと言うために使用できるフラグの種類はありますか? 他のユーザーがアップロードした画像またはビデオ ファイルをユーザーに表示してもらいます。ユーザーの html を表示したいが、ユーザーにダウンロードを強制したくない場合 (content-disposition 添付ファイル)。
ここにユーザーデータがあると言える方法はありますか。画像である可能性があるため、img src が機能するようにする必要があります。それはhtmlである可能性があるので、ユーザーにそれを見てもらいたいのですが、Cookie/localstorage/call ajax request/etcの読み取り/書き込みを許可しないでください?
-編集- 考えてみてください。すべてのユーザー データは、静的ファイル用の独自の Cookie を使用しないサブドメインでホストされています。それは私が言及した多くの問題を取り除くでしょうが、他に対処するために何が残っていますか? また、私の MIME 応答は、Web サーバーが何をするか (nginx atm) に完全に依存していると思います。
-edit2- nginx の設定を調整してapplication/unknown
Content-Type を追加しました。それはまさに私が望むことをするようです。不明なファイルに octet-stream を使用するという提案を見ましたが、ブラウザで表示できる jpg であっても、ブラウザ (少なくとも Firefox) がダウンロードしようとします。