본문 바로가기

컴퓨터공학/JSP | Servlets | JDBC

JSP> 파일 업로드/다운로드 2

시큐어 코딩 적용하기

uploadAction.jsp 에서 

multipartRequest를 함과 동시에 파일이 업로드되기 때문에 확장자를 확인하고 틀리면 삭제하는 원리이다.

 

이 방법은 근데 레이스 컨디션 취약점이 있다..

짧은 시간에 생성했다가 삭제하기 때문에

스레드로 계속 반복해서 실행하게 된다면 실행될 수 있다..

그래서 파일 루트 디렉토리 밖에 폴더를 위치시면 된다.

 

uploadAction.jsp 와 fileDownload.jsp 에 있는

directory 를 하드코딩하여 경로를 작성해 넣으면 된다.

 

 

 

 

다운로드 수 증가하는 기능

 

dto에 카운트 변수와 getter setter 생성자를 설정

fileDAO.java 에서 데이터베이스에 업로드하는 기능

DAO에서 다운로드 숫자를 늘리는 기능과

데이터베이스에서 데이터를 몽땅 가져와 하나씩 DTO 객체에 담아서 리스트로 만들어 반환하는 기능

 

 

 

 

기존은 업로드 된 폴더에서 데이터 정보를 가져오는 것이었으나

이제는 데이터베이스에서 가져오도록 하자..

fileDownload.jsp 다운로드 페이지에서는

방금  DAO에서 DTO 리스트를 반환하는 함수를 사용하여

리스트를 가져와 이름을 반환하는 함수를 for문을 돌려 각각 사용한다..

 

다운로드 페이지에서 링크를 누르면 서블릿에서는 다운로드 기능과 DAO에서 다운로드 수를 늘리는 기능을 실행한다.