Class DefaultAttachmentSafeContentHeaderGuesser
java.lang.Object
com.atlassian.confluence.servlet.download.DefaultAttachmentSafeContentHeaderGuesser
- All Implemented Interfaces:
SafeContentHeaderGuesser
public class DefaultAttachmentSafeContentHeaderGuesser
extends Object
implements SafeContentHeaderGuesser
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncomputeAttachmentHeaders
(String contentType, InputStream contents, String name, String userAgent, long contentLength, boolean hasXsrfToken, Map<String, String[]> httpQueryParams) Returns a map of headers with their values.void
setContentTypeAndDispositionHeaderBlacklist
(com.atlassian.http.mime.ContentDispositionHeaderGuesser contentTypeAndDispositionHeaderBlacklist) void
setMimeTypeTranslator
(AttachmentMimeTypeTranslator mimeTypeTranslator)
-
Constructor Details
-
DefaultAttachmentSafeContentHeaderGuesser
public DefaultAttachmentSafeContentHeaderGuesser()
-
-
Method Details
-
computeAttachmentHeaders
public Map<String,String> computeAttachmentHeaders(String contentType, InputStream contents, String name, String userAgent, long contentLength, boolean hasXsrfToken, Map<String, String[]> httpQueryParams) throws IOExceptionDescription copied from interface:SafeContentHeaderGuesser
Returns a map of headers with their values. One of these headers _must_ be 'Content-Type'.The purpose of this method is to guess a safe content type header (and associated content-disposition headers), so that it is difficult to perform xss using attachments.
- Specified by:
computeAttachmentHeaders
in interfaceSafeContentHeaderGuesser
- Parameters:
contentType
- the existing content-type that the attachment has.contents
- attachment contentsname
- the filename of the attachmentuserAgent
- the user agent of the client requesting the attachmentcontentLength
- the length of the attachmenthttpQueryParams
- a map of the http query parameters- Returns:
- a map of http headers to their values. It will contain at least one entry with key 'Content-Type'.
- Throws:
IOException
- if the attachments contents could not be read
-
setMimeTypeTranslator
-
setContentTypeAndDispositionHeaderBlacklist
public void setContentTypeAndDispositionHeaderBlacklist(com.atlassian.http.mime.ContentDispositionHeaderGuesser contentTypeAndDispositionHeaderBlacklist)
-