WEBBOOK CHAPTER

기능이 아니라 경계를 지키는 웹 보안: 9장. 파일 업로드를 비신뢰 파이프라인으로 다룬다

9장. 파일 업로드를 비신뢰 파이프라인으로 다룬다

extension과 MIME 선언만 믿지 않는다. 크기·개수·content signature, 안전한 파일명, 별도 저장소, 실행 불가, virus scan, image 재처리, 접근 권한, 보관·삭제를 설계한다. 원본 파일명과 저장 key를 분리한다.

upload 완료와 사용 가능 상태를 나누고 scan 실패·timeout을 사용자에게 안전하게 알린다. 다운로드에는 authorization과 content disposition을 적용한다. object URL은 짧은 수명과 최소 권한을 갖고 log나 분석에 남기지 않는다.