웹(11)
-
[JAVA] 첨부파일 확장자 변경 후 파일 업로드시 변경 여부 체크
프로젝트를 진행중 사용자가 첨부파일 확장자를 변경 후 파일 업로드시 변경 여부를 체크해야할 일이 생겼다. 사용자가 exe,jsp 등의 첨부파일을 .jpg 등으로 바꾼 후 업로드하면 체크해야한다. 일반 자바를 이용하여 확장자를 잘라서 첨부파일 체크를 하는 경우 파일 확장자를 변경할시 알수가 없었다. 1. Apache Common IO apache common io 를 활용한 확장자 체크 1.pom.xml 추가 commons-io commons-io 2.9.0 2. 확장자 체크 // 1. 확장자를 추출할 파일 준비 File file = new File("D:\\text.txt"); // 2. 파일 이름 확인 String fileName = file.getName(); // 3. 확장자 추출 String fi..
2023.12.04 -
[시큐어코딩] FORBIDDEN.INSECURE_RANDOM 부적절한 난수 생성 처리
시큐어코딩을 돌렸을때 자바스크립트에서 Math.random() 관련 이슈가 발생했다. FORBIDDEN.INSECURE_RANDOM : 부적절한 난수 생성 : 부적절한 난수 생성 체커는 예측 가능한 난수를 사용하는 코드를 검출합니다. 위와 같이 이슈가 생성되었는데 JQUERY나 외부 라이브러리에서도 검출되어서 이를 에러 없이 변경하고 싶었다. #Math.random()의 보안 취약점 Math.random()은 앞서 언급한 것처럼 보안적인 측면에서 단점이 있다. MDN의 문서에 따르면 Math.random()는 암호학적으로 안전한 난수를 생성해주지 않는다. 따라서 프로그램의 보안과 관련된 로직에서는 Math.random()을 사용하지 않는 것이 좋다. Note: Math.random() does not p..
2023.08.29 -
Spring/EgovFrameWork(전자정부프레임워크) - 웹소켓 메신저 채팅 구현
프로젝트 중 채팅 서비스를 만들어야하는 일이 발생하여 공부시작 전자정부 프레임워크의 웹소켓 메신저 기능을 이용하여 채팅을 구현해볼 예정이다. 출처 : https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:com:cop:%EC%9B%B9%EC%86%8C%EC%BC%93%EB%A9%94%EC%8B%A0%EC%A0%80 egovframework:com:cop:웹소켓메신저 [eGovFrame] 웹소켓 메신저는 HTML5 WebSocket와 Java Websocket을 이용하여 메신저 기능을 제공한다. (Spring 4.X버전은 Java websocket을 지원하지만 Spring 3.X버전은 websocket을 따로 지원하지 않는다. 현재 egov 3.1버전은 ..
2022.12.06 -
Spring + mybatis xml 파일 변경시 서버 재시작 없이 반영 (RefreshableSqlSessionFactoryBean)
기억을 위해 글남김 플젝 도중 쿼리를 수정하고 서버 반영을 하지 않아도 바로 적용이 되길래 물어보니 관련 설정이 되어있다 함 쿼리 수정시 XML 바로 반영되면 해당 키워드 기억 RefreshableSqlSessionFactoryBean import java.io.IOException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Timer; import..
2022.12.05 -
[JSP] jsp:include flush속성, jsp 출력 버퍼, include 된 페이지에서 헤더,쿠키 추가 안되는 현상. 코드를 만들어서 확인
Jsp 를 사용하다보면 include 로 페이지를 포함시키는 경우가 있는데 이때 flush 란 속성에 의문점을 가지게 되었다. 대체 이 true와 false는 무엇을 의미하는것일까? 이를 알아보기위해 검색해보았다. - flush 속성은 포함될 페이지로 제어가 이동될 때 현재 포함하는 페이지가 지금까지 출력 버퍼에 저장한 결과를 처리하는 방법을 결정한다. - flush 속성의 값을 'true' 로 지정하면 포함될 페이지로 제어가 이동될 때 현재 페이지가 지금까지 버퍼에 저장한 내용을 웹 브라우저에 출력하고 버퍼를 비운다. - flush 속성을 일반적으로 'false' 로 지정하는 것이 좋다. 'true'로 지정하면 일단 출력 버퍼를 웹브라우저에 전송하게 되는데 이때 헤더 정보도 같이 전송된다. 헤더 정보가..
2020.06.30 -
웹프로젝트-4. -스프링부트- 에러페이지 만들기
https://eblo.tistory.com/50 Spring Boot에서 에러 페이지 처리하기 Spring Boot에서 에러 페이지 처리하기 아래 두가지만 하면 끝~~~ 1. ErrorController를 implements 해서 에러 컨트롤러를 만든다. 2. error 페이지를 만든다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2.. eblo.tistory.com https://velog.io/@godori/spring-boot-error 🌱 Spring Boot 에러 처리 페이지 만들기 스프링부트 웹 MVC 프로젝트에서 상태 코드에 따라 에러를 처리하고 뷰에 각각의 에러 페이지를 보여주는 웹 사이트를 만들어 보겠습니다. 🌱 웹 페이지 에러 처리 만약 Gi..
2019.09.10