[http] HTTP 응답 헤더에서 컨텐츠 처리 사용

데이터베이스에서 파일을 제공 할 때 다음 asp.net 코드가 매우 유용하다는 것을 알았습니다.

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

이를 통해 사용자는 파일을 컴퓨터에 저장 한 다음 파일을 사용하려는 브라우저 대신 파일 사용 방법을 결정할 수 있습니다.

콘텐츠 처리 응답 헤더로 다른 작업을 수행 할 수 있습니까?



답변

참고 RFC 6266 대체합니다 RFC는 아래 참조. 섹션 7 에는 관련 보안 문제 중 일부가 요약되어 있습니다.

콘텐츠 처리 헤더에 대한 권한은 RFC 1806RFC 2183입니다. 사람들도 콘텐츠 처리 해킹을 고안했습니다 . 콘텐츠 처리 헤더는 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 헤더는 원래 웹이 아니라 전자 메일 용으로 만들어진 것 같습니다. ( 관련 RFC에 링크하십시오 .)

웹 브라우저가 응답 할 수 있다고 생각합니다

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

저장할 때, 확실하지 않습니다.


답변

RFC 6266 (HTTP (Hypertext Transfer Protocol)에서 컨텐츠 처리 헤더 필드 사용)을 참조하십시오. 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 (Internet Assigned Numbers Authority)에 등록 된 값입니다. 그들의 가치레지스트리 는 결정적인 근원으로 보여 져야한다.


답변

Microsoft 지원 섹션에 대한이 KB 문서 는 알려진 MIME 유형에 대한 파일 다운로드 대화 상자를 올리는 방법에 대한 토론과 관련이 있다고 생각했습니다.


답변