dev-log
close
프로필 배경
프로필 로고

dev-log

  • 전체글 (50)
    • Java (11)
    • Spring (7)
    • JPA (2)
    • SQL (6)
    • DevOps (3)
      • docker (3)
    • Project (1)
    • Study (1)
    • Front (1)
    • 기타 (15)
    • CS공부 (3)
  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

XSS(Cross-Site-Scripting) 방지 Filter 만들기

XSS를 방지하기 위해 여러가지 방법이 있다. request 데이터 치환하기 (DB에 치환된 데이터로 저장) response 데이터 치환하기 (정상 데이터 저장 후 response 에서 내보내기) 회사에서 요구사항이 들어와서 개발하다 개념이 헷갈려서 정리. 1번 2번 다 만들어보고 1번으로 적용하게 되었다. XSS 방지 Filter (Request 데이터 치환) 입력 데이터에 대한 필터링을 수행할 수 있는 커스텀 필터를 구현 XSS 방지 필터 구현 public class XssFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) th..

  • format_list_bulleted Spring
  • · 2024. 3. 21.
  • textsms
JSON 응답에 도메인 정보 포함시키기: Spring Boot 직렬화(@ JsonSerializer)

JSON 응답에 도메인 정보 포함시키기: Spring Boot 직렬화(@ JsonSerializer)

오늘도 열심히 일을 하다가.. image url 의 도메인을 서비스에서 받아서 Response 에서 처리해야하는게 소스 코드가 넘 더러워지고.. 비효율적이라고 생각이 들었다.public static FileDto create(File entity, String domain) { return FileDto.builder() .fileExt(entity.getFileExt()) .fileSize(entity.getFileSize()) .fileUrl(makeUrl(domain, entity.getFilePath())) .fileType(entity.getFileType()) .originFileName(e..

  • format_list_bulleted Spring
  • · 2024. 3. 12.
  • textsms
외부 라이브러리 @bean 등록에 관하여..

외부 라이브러리 @bean 등록에 관하여..

인프런 강의 : 스프링 핵심 원리 강의를 듣던 중.. @PostConstruct, @PreDestroy 애노테이션의 특징 최신 스프링에서 가장 권장하는 방법이다. 애노테이션 하나만 붙이면 되므로 매우 편리하다. 패키지를 잘 보면 javax.annotation.PostConstruct 이다. 스프링에 종속적인 기술이 아니라 JSR-250 라는 자바 표준이다. 따라서 스프링이 아닌 다른 컨테이너에서도 동작한다. 컴포넌트 스캔과 잘 어울린다. 유일한 단점은 외부 라이브러리에는 적용하지 못한다는 것이다. 외부 라이브러리를 초기화, 종료 해야 하면 @Bean의 기능을 사용하자. 여기서 마지막 줄 유일한 단점은 외부 라이브러리에서는 적용하지 못한다. 라는 말이 있었는데.. 사실 이 말이 제대로 와닿지 않았다. 외부..

  • format_list_bulleted Spring
  • · 2021. 9. 14.
  • textsms

AOP로 컨트롤러 진입 마다 log 찍기

페이지별 view count를 측정하기 위해.. controller 진입 마다 log 테이블에 저장하기로 했다. (하지만 이건 처음부터 잘못된 선택이였음..😅) 비록 view count를 측정하는 방법 접근이 좀 잘못된 거 같지만~ AOP 써본 기념으로 정리 AOP란? AOP는 Aspect Oriented Programming 의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다. 1. 먼저 log를 쌓을 Entity 설정 @Getter @NoArgsConstructor @SequenceGener..

  • format_list_bulleted Spring
  • · 2021. 8. 23.
  • textsms
Spring security와 OAuth2.0으로 로그인 구현하기 - 카카오 로그인

Spring security와 OAuth2.0으로 로그인 구현하기 - 카카오 로그인

이 책에서 [chapter5. 스프링 시큐리티와 OAuth2.0으로 로그인기능 구현하기]를 따라 읽다보면 구글과 네이버로 로그인 만들기가 있다. 네이버와 구글을 만들었으면 카카오 로그인을 구현하는 게 인지상정.. 카카오로그인을 구현해보자 1. 카카오 Developers 사이트로 이동 카카오 Developers Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com (1) REST API 키 [내 애플리케이션] > [앱 설정] > [요약정보] REST API 키 -> application-oauth 에 등록할 client-id (2) 카카오 로그인 활성 ..

  • format_list_bulleted Spring
  • · 2021. 8. 20.
  • textsms
Controller에서 쓰는 Annotation 정리 -2 : @RequestBody, @ResponseBody

Controller에서 쓰는 Annotation 정리 -2 : @RequestBody, @ResponseBody

@RequestBody, @ResponseBody JSON 데이터를 주고받을 때 사용하는 annotation 1. @RequestBody 이 어노테이션이 붙은 파라미터에는 HTTP 요청의 본문 body 부분이 그대로 전달된다. RequestMappingHandlerAdapter에는 HttpMessageConverter 타입의 메시지 변환기(message converter)가 여러 개 등록되어 있다. @RequestBody가 붙은 파라미터가 있으면 HTTP 요청의 미디어 타입과 파라미터의 타입을 먼저 확인한다. (dispatcher-servlet.xml 에서 확인) 메시지 변환기 중에서 해당 미디어 타입과 파라미터 타입을 처리할 수 있다면, HTTP 요청의 본문 부분을 통째로 변환해서 지정된 메소드 파라미..

  • format_list_bulleted Spring
  • · 2021. 8. 3.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
전체 카테고리
  • 전체글 (50)
    • Java (11)
    • Spring (7)
    • JPA (2)
    • SQL (6)
    • DevOps (3)
      • docker (3)
    • Project (1)
    • Study (1)
    • Front (1)
    • 기타 (15)
    • CS공부 (3)
최근 글
인기 글
최근 댓글
태그
  • #modelmapper
  • #nginx
  • #Java
  • #docker
  • #nativequery
  • #intellij
  • #spring
  • #list
  • #JPA
  • #tomcat
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바