Привет, у меня приложение весенней загрузки с контроллером отдыха. я могу опубликовать файл в методе ресурса в контроллере.
@PostMapping("/files")
@Timed
public ResponseEntity<FileDTO> createFile(MultipartFile file, HttpServletRequest request) throws URISyntaxException {
log.debug("REST request to save File");
if (file.isEmpty()) {
return new ResponseEntity("Please select a file!", HttpStatus.BAD_REQUEST);
}
UUID id = fileService.save(file, null);
if (id != null) {
return ResponseEntity.created(new URI("/api/files/" + id))
.headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, id.toString()))
.body(new FileDTO(id, request.getRequestURL() + "/" + id));
} else {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();
}
}
вот мой запрос curl к контроллеру, и он успешно получает файл.
curl -v -X POST "http://localhost:8080/api/files" -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJnbG9iYWxhZG1pbkBsb2NhbGhvc3QiLCJhdXRoIjoiUk9MRV9HTE9CQUxfURNSU4iLCJleHAiOjE1NTg2MjQ2NjF9.XV8Ibcqoh7a6FWN6BF89rH4abyraaS86jsP04Y5vuNrH-rnJ3Se0T7ogA0t7oXXzrVsvZUpPgkm5pGHotd6a_g" -H "accept: */*" -H "Content-Type: multipart/form-data1" -F "file=@virus.exe;type=image/jpeg"
Проблема в том, что я могу опубликовать exe-файл с типом = image / jpeg. это помогает злоумышленнику обойти некоторые проверки типа контента в моем приложении.
Как я могу настроить свой пружинный контроллер, чтобы игнорировать "type ="
атрибут
любая помощь приветствуется.