문제

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

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

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

내용 분할 응답 헤더로 다른 일을 수행 할 수 있습니까?

도움이 되었습니까?

해결책

주목하십시오 RFC 6266 아래에 언급 된 RFC를 대체합니다. 섹션 7 관련 보안 문제 중 일부를 간략하게 설명합니다.

컨텐츠 공포 헤더에 대한 권한은 다음과 같습니다 RFC 1806 그리고 RFC 2183. 사람들도 고안했습니다 콘텐츠 위치 해킹. 내용화 헤더는 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 (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)에 등록 된 값입니다. 그들의 가치 등록 결정적인 소스로 여겨 져야합니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top