사적인 개발자
[ISSUE] File upload (octet-stream) 본문
ISSUE :
.log 파일이 업로드가 안되는 문제
해당 파일은 octet-stream으로 들어온다
=> 파일 형태가 일반적인 plain text 형태가 아닌
octet-stream 형태의 바이너리 코드가 포함된 LOG 파일로 확인 됩니다.
보안상 이슈가 될 수 있어 plain text 형태의 파일만 upload 되게 처리 되어 있는 상태인데
해당 형태의 LOG 파일도 웹에 업로드 가능성이 있다면 상황에 따라 정책 정정 필요해보입니다.
에러 난 조건식 :
if("x-tika-msoffice".equals(chkFileExtStr) || "x-tika-ooxml".equals(chkFileExtStr) ||
"plain".equals(chkFileExtStr) || "png".equals(chkFileExtStr) || "jpg".equals(chkFileExtStr)
|| "jpeg".equals(chkFileExtStr) || "gif".equals(chkFileExtStr)){
return true;
}
- 업로드 되는 파일의 종류
msoffice : doc, ppt ,
ooxml : docx, pptx, xlsx plain 는 순수 텍스트 파일 (.log, .txt 등..)
MIME Type : oct-stream 등이 포함된 타입
해결책
if ("octet-stream".equals(chkFileExtStr) && fileName.endsWith(".log")) {
chkFileExtStr = "plain";
}
과 같이 .log 파일에 대한 plain 조건을 추가함
참고지식 File Upload 트러블 슈팅(octet-stream이 뭔가요)
'Troble Shooting' 카테고리의 다른 글
[Grails] respond vs redirect | 객체 자동 update 이슈 (1) | 2025.01.09 |
---|---|
[ISSUE] MySQL dump/load시 sql_mode 이슈 (0) | 2025.01.07 |
[ISSUE] Grails dbCreate 속성 - create, create-drop, update, validate, none (1) | 2024.12.31 |
[ISSUE] CI/CD war 파일크기 불일치 이슈(Jenkins) (2) | 2024.12.11 |
[ISSUE] CSV 데이터 DB 임포트시 임의 숫자 변환(feat.Excel) (0) | 2024.12.10 |