public class FileUploadUtils extends Object
Modifier and Type | Method and Description |
---|---|
static boolean |
areValidFiles(javax.faces.context.FacesContext context,
FileUpload fileUpload,
List<UploadedFile> files) |
static String |
checkPathTraversal(String relativePath)
OWASP prevent directory path traversal of "../../image.png".
|
static String |
getValidFilename(String filename) |
static String |
getValidFilePath(String filePath) |
static boolean |
isSystemWindows() |
static boolean |
isValidFile(javax.faces.context.FacesContext context,
FileUpload fileUpload,
UploadedFile uploadedFile) |
static boolean |
isValidType(PrimeApplicationContext context,
FileUpload fileUpload,
UploadedFile uploadedFile)
Check if an uploaded file meets all specifications regarding its filename and content type.
|
static void |
performVirusScan(javax.faces.context.FacesContext facesContext,
InputStream inputStream) |
public static String getValidFilePath(String filePath) throws ValidationException
ValidationException
public static boolean isSystemWindows()
public static boolean isValidType(PrimeApplicationContext context, FileUpload fileUpload, UploadedFile uploadedFile)
FileUploadBase.getAllowTypes()
as well as FileUploadBase.getAccept()
and uses the installed FileTypeDetector
implementation.
For most reliable content type checking it's recommended to plug in Apache Tika as an implementation.fileUpload
- the fileUpload componentuploadedFile
- the details of the uploaded filetrue
, if all validations regarding filename and content type passed, false
elsepublic static void performVirusScan(javax.faces.context.FacesContext facesContext, InputStream inputStream) throws VirusException
VirusException
public static boolean isValidFile(javax.faces.context.FacesContext context, FileUpload fileUpload, UploadedFile uploadedFile) throws IOException
IOException
public static boolean areValidFiles(javax.faces.context.FacesContext context, FileUpload fileUpload, List<UploadedFile> files) throws IOException
IOException
public static String checkPathTraversal(String relativePath)
relativePath
- the relative path to check for path traversaljavax.faces.FacesException
- if any error is detectedhttps://www.owasp.org/index.php/Path_Traversal
Copyright © 2020. All rights reserved.