データベースからファイルを提供する場合、次の asp.net コードが非常に役立つことがわかりました。
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
これにより、ブラウザがファイルを使用しようとする代わりに、ユーザーはファイルを自分のコンピューターに保存してから、その使用方法を決定できます。
content-disposition 応答ヘッダーで他に何ができますか?
データベースからファイルを提供する場合、次の asp.net コードが非常に役立つことがわかりました。
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
これにより、ブラウザがファイルを使用しようとする代わりに、ユーザーはファイルを自分のコンピューターに保存してから、その使用方法を決定できます。
content-disposition 応答ヘッダーで他に何ができますか?
RFC 6266は、以下で参照される RFC に取って代わることに注意してください。セクション 7では、関連するセキュリティ上の問題のいくつかを概説します。
content-disposition ヘッダーに関する権限は、RFC 1806およびRFC 2183 です。人々はcontent-disposition ハッキングも考案しました。content-disposition ヘッダーは HTTP 1.1 標準の一部ではないことに注意してください。
HTTP 1.1 標準 ( RFC 2616 ) では、コンテンツの配置によって発生する可能性のあるセキュリティの副作用についても言及されています。
15.5 コンテンツ処理の問題
HTTP で頻繁に実装される Content-Disposition (セクション 19.5.1 を参照) ヘッダーが派生するRFC 1806 [35] には、多くの非常に
深刻なセキュリティ上の考慮事項があります。Content-Disposition は
HTTP 標準の一部ではありませんが、広く実装されている
ため、実装者向けにその使用とリスクを文書化しています。詳細については、RFC 2183 [49]
(RFC 1806 を更新) を参照してください。
Content-Disposition ヘッダーは、もともと Web 用ではなく、電子メール用に作成されたようです。(関連する RFC へのリンク。)
Webブラウザが応答する可能性があると推測しています
Response.AppendHeader("content-disposition", "inline; filename=" + fileName);
保存するときですが、よくわかりません。
RFC 6266(ハイパーテキスト転送プロトコル(HTTP)でのContent-Dispositionヘッダーフィールドの使用)https://www.rfc-editor.org/rfc/rfc6266を参照してください。
asp.net ユーザーの場合、.NET フレームワークはコンテンツ ディスポジション ヘッダーを作成するためのクラスを提供します: System.Net.Mime.ContentDisposition
基本的な使い方:
var cd = new System.Net.Mime.ContentDisposition();
cd.FileName = "myFile.txt";
cd.ModificationDate = DateTime.UtcNow;
cd.Size = 100;
Response.AppendHeader("content-disposition", cd.ToString());