سؤال

لقد وجدت أن كود asp.net التالي مفيد جدًا عند تقديم الملفات من قاعدة البيانات:

Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);

يتيح ذلك للمستخدم حفظ الملف على جهاز الكمبيوتر الخاص به ثم تحديد كيفية استخدامه، بدلاً من محاولة المتصفح استخدام الملف.

ما الأشياء الأخرى التي يمكن القيام بها باستخدام رأس استجابة ترتيب المحتوى؟

هل كانت مفيدة؟

المحلول

RFC 6266 يحل محل المراجع المشار إليها أدناه. 7 يحدد بعض المخاوف الأمنية ذات الصلة.

والسلطة على رأس المحتوى التصرف هو href="http://www.ietf.org/rfc/rfc1806.txt" RFC 1806 و <لأ href = "http://www.ietf.org/rfc/rfc2183.txt" يختلط = "noreferrer"> RFC 2183. قد وضعت الناس أيضا <لأ href = "http://www.gnucitizen.org/blog / المحتوى التصرف-القرصنة / "يختلط =" noreferrer "> المحتوى التصرف القرصنة. ومن المهم أن نلاحظ أن رأس المحتوى التصرف ليس جزءا من المعيار HTTP 1.1.

ووHTTP 1.1 قياسي ( RFC 2616 ) ويذكر أيضا الآثار الجانبية المحتملة للأمن التصرف المحتوى:

<اقتباس فقرة>   

15.5 ترتيب المحتوى قضايا

     

وRFC 1806 [35]، والتي من كثير من الأحيان   ترتيب المحتوى تنفيذها
  (انظر القسم 19.5.1) رأس في HTTP هو   المشتقة منها، لديها عدد من
جدا   اعتبارات أمنية خطيرة.   ترتيب المحتوى ليست جزءا من
  معيار HTTP، ولكن نظرا لأنه هو   نفذت على نطاق واسع، ونحن
  توثيق استخدامها والمخاطر التي يتعرض لها   المنفذين. انظر RFC 2183 [49]
  (التحديثات التي RFC 1806) لمزيد من التفاصيل.

نصائح أخرى

حسنا، يبدو أن رأس ترتيب المحتوى أنشئت أصلا للبريد الإلكتروني، وليس على شبكة الإنترنت. ( لينك لRFC ذات الصلة ).

وأنا على التخمين بأن متصفحات الويب قد يستجيب ل

Response.AppendHeader("content-disposition", "inline; filename=" + fileName);

وعندما إنقاذ، ولكن لست متأكدا.

والرجوع إلى RFC 6266 (استخدام رأس الميدان ترتيب المحتوى في بروتوكول نقل النص التشعبي (HTTP)) http://tools.ietf.org/html/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());

ويعرف هذا الرأس في RFC 2183 ، بحيث سيكون أفضل مكان لبدء القراءة.

والقيم المسموح بها هي تلك المسجلة لدى أيانا (IANA)؛ من التسجيل القيم يجب أن ينظر إليها على أنها المصدر النهائي.

ويرتبط الفكر هذا المقال KB في قسم دعم مايكروسوفت لمناقشة هنا <لأ href = "https://support.microsoft.com/en-us/help/260519/how-to-raise-a-file- الحوار مربع لواحد في المعروف التمثيل الصامت من نوع تحميل "يختلط =" نوفولو noreferrer "> كيفية رفع مربع الحوار تنزيل الملف لنوع التمثيل الصامت المعروف

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top