2016-07-22 10 views
0

Ich versuche, ein "Header Manipulation" Problem behoben, das HP Fortify Scan für diesen Code zurückgegeben wurde. Ich weiß nicht, ob die Dateien beim Upload bereits validiert sind (ich denke nicht). Ich habe versucht, eine RegEx zu verwenden, um Dateinamen ohne Erfolg zu validieren. Kann mir jemand helfen?Header-Bearbeitungsproblem mit HP Fortify in HTTP-Antwort [Java]

b = uploadedFiles.getFilecontent().getBytes(1, 
         uploadedFiles.getFilesize().intValue()); 
       if (b != null) { 
        response.reset(); 
        String fileName = uploadedFiles.getFilename(); 
        String header = "attachment; filename=\"" + fileName + "\""; 
        String contentType = uploadedFiles.getFilecontenttype(); 
        response.setContentType(uploadedFiles.getFilecontenttype()); 
        response.addHeader("Content-Transfer-Encoding", "Binary"); 
        response.addHeader("Cache-Control", "must-revalidate, private"); 
        response.setContentLength(b.length); 
        FileCopyUtils.copy(b, response.getOutputStream()); 
        response.getOutputStream().flush(); 
        response.getOutputStream().close(); 
       } 

Was ich versucht:

String fileName = uploadedFiles.getFilename(); 
String regex = "[a-zA-Z._ ]*"; 
if (b != null && fileName.matches(regex)) { 
       response.reset(); 
       // String fileName = uploadedFiles.getFilename(); 
       String header = "attachment; filename=\"" + fileName + "\""; 
       String contentType = uploadedFiles.getFilecontenttype(); 
       response.setContentType(uploadedFiles.getFilecontenttype()); 
       response.addHeader("Content-Transfer-Encoding", "Binary"); 
       response.addHeader("Cache-Control", "must-revalidate, private");    
       response.setHeader("Content-Disposition", header); 
       response.setContentLength(b.length); 
       FileCopyUtils.copy(b, response.getOutputStream()); 
       response.getOutputStream().flush(); 
       response.getOutputStream().close(); 
      } 

Antwort

0

Sie eine Methode verwenden, sollten die sensible Informationen in

response.setHeader("Content-Disposition", header) 

Nur mit

fileName.matches(regex) 

ist zu einfach zu filtern.

Verwandte Themen