본문 바로가기

Java/Spring

spring xss filter XSS?Cross-Site Scripting 의 준말입니다.유형과 예시 - 위키백과"사용자를 믿지 마라.""XSS는 인터넷 시간으로 고대의 유물에 속한, 잘 알려진 공격 요소다. 이 공격을 막지 못한다면 업무 태만이다."OWASP Top 10 XSS 차단 가이드 적용과거 코드들을 보면 HttpServletRequestWrapper 를 상속해서 아래와 같이 처리하는 것을 종종 볼 수 있습니다. public String[] getParameterValues(String parameter) { String[] values = super.getParameterValues(parameter); if (values == null) { return null; } for (int i = 0; i
Spring - Jasypt 예제 스프링에서 Jasypt 를 사용해보도록 하겠습니다. http://www.jasypt.org/Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works.maven저는 스프링 4.x 을 쓰기 때문에 jasypt-spring31 을 가져옵니다. maven repository에 가면 jasypt-spring3 도 있는데 이건 스프링 3.0 까지의 버전에서 사용한다고 합니다. org.jasypt jasypt-spri..
log4jdbc 적용 slf4j & logback 설정에 이어 log4jdbc를 적용해 보겠습니다. maven추가로 log4jdbc를 받아옵니다. org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16Colored by Color Scriptercs추가설정src/main/resources 안에 log4jdbc.log4j2.properties 파일을 만듭니다. 1라인은 필수고 2라인은 쿼리를 정렬하는 용도라서 선택입니다. log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegatorlog4jdbc.dump.sql.maxlinelength=0Colored by Color Scriptercs 데이터베이스 연결정보를 ..
slf4j & logback 설정 maven아래와 같습니다. org.springframework spring-context ${org.springframework-version} commons-logging commons-logging ... org.slf4j jcl-over-slf4j 1.7.7 ch.qos.logback logback-classic 1.2.3Colored by Color Scriptercssend log to console콘솔에 로그를 찍기 위해 src/main/resources 폴더 아래 logback.xml 파일을 만들고 다음과 같이 작성합니다.(패턴 참고) [%d{yyyy/MM/dd HH:mm:ss}] %highlight(%-5level)| %cyan(%-25.25logger{0}) | %msg%n Colored..
db.properties XML로 변경 평소처럼 db.properties 를 사용하다가 어쩌다 검색을 해보니stackoverflow나 영미권 블로그들에서는 *.properties를 사용하지 않는 것을 보았습니다. 최신 stackoverflow 스프링 설정 관련 답글들을 보면 대부분 xml 보다는 java를 통한 설정을 선호하는 것 같고요. *.properties는 그보다 더한 구식인가 봐요. 그래서 저도 db.properties를 xml로 바꿔서 딱 한발짝만 따라가보기로 했습니다. db.properties.xml com.mysql.cj.jdbc.Driver jdbc:mysql://127.0.0.1:3306/schema id pwColored by Color Scriptercs 생김새는 원래 쓰던 것과 비슷하네요. 저는 root-context...
mybatis LIKE 검색 ORACLEcolumn명 LIKE '%'||#{value}||'%' MS-SQLcolumn명 LIKE '%'+#{value}+'%' MYSQLcolumn명 LIKE CONCAT('%',#{value},'%') 또는column명 LIKE '%${value}%'
STS 실행 무반응 PC를 포맷하고 jdk - STS 설치 후 실행까지 확인했는데, 재부팅 이후 STS를 실행해도 아무 반응이 없었습니다.작업관리자의 프로세스에도 STS가 뜨지 않고 정말 '아무런 반응'도 없었어요. 생각해보니 옛날에도 왜이러지 하면서 검색했던 기억이 있습니다. ㅠㅠ (멍청) STS.ini 을 열어 아래를 추가하면 됩니다.-vmjdk경로\bin\javaw.execs 저의 경우 아래와 같습니다.-vmC:\Program Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.191-1\bin\javaw.execs
mybatis 다중 insert INSERT INTO테이블명(컬럼1, 컬럼2, 컬럼3)VALUES(?, ?, ?),(?, ?, ?),...와 같은 방식의 INSERT. 123456789@Transactional@Overridepublic void insert(List filelist) { if(filelist != null || filelist.size() != 0) { for(FileVO file : filelist) { mapper.uploadFiles(file); }}Colored by Color Scriptercs 위와 같이 리스트를 순회하면서 단일객체마다 반복해 insert 처리해도 되지만아래와 같이 XML에서 foreach 구문으로 쿼리 한번에 처리할 수도 있다. 123456789 INSERT INTO files (id, f..