Spring

CSRF 공격이란?CSRF 공격이란 사용자가 로그인하면 세션ID가 쿠키로 저장되는데, 서버는 세션 ID로 사용자를 인증하고 구분하여 요청을 수행한다. 쿠키는 브라우저에 저장되기 때문에 공격자가 임의의 폼을 생성한 링크를 사용자에게 클릭하도록 유도하면 브라우저는 쿠키에 저장된 세션ID와 공격자의 폼을 함께 서버로 전송한다. 이 때 폼은 공격자가 원하는 행동으로 설계해둔다. (은행송금, 개인정보탈취 등)더불어 사용자가 진짜로 요청한 것인지 임의로 공격자가 설계한 공격인 것인지 구분하기도 어렵다.공격자는 이메일, 악성 웹사이트, 광고 배너 등을 통해 사용자가 악성 링크를 클릭하게 유도할 수 있다. CSRF 공격을 방어하는 방법1. CSRF 토큰을 사용한다.스프링 MVC, 장고 MTV 같은 프레임워크를 사용하면..
·Spring
@PostConstruct는 무엇일까?1. 스프링 빈 생명주기(Spring Bean LifeCyle)@PostConstruct를 이해하려면 먼저 스프링 빈 생명주기를 알아야합니다.스프링 컨테이너 생성 -> Bean 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸콜백 -> 스프링 종료여기서 PostConstruct는 초기화 콜백에 사용됩니다. 2. 어따가 사용하죠?만약에 @Value를 사용해서 주입한 인스턴스 필드의 값을 static 필드의 값으로 초기화 해주고 싶을 때 사용한다. @Value("${openai.api.key}") // 가능 private String apiKey;Value 무조건 인스턴스 필드에 값을 주입해야한다. @Value("${openai.api.key}"..
·Spring/Java
우리가 흔하게 말하는 인스턴스화 즉 객체를 사용하기 위해서 정의해주는 것이 가능한 이유를 아시나요? 위 처럼 BookDTO라는 클래스가 있습니다. 이 클래스를 사용하기 위해서 위에서 말한 인스턴스화가 필요합니다. 위 사진처럼 인스턴스화를 진행해 줍니다. 그런데 생성자는 ()안에 파라미터 값을 넣어 주어야합니다. 생성자의 역할은 진짜 값을 가르키고 있는 힙메모리에 생성할 때부터 초기화해주는 것이 목표입니다. 그러니까 만약에 bk 라는 인스턴스가 있고 이것은 실제 데이터 값을 가르키는 힙메모리이고, 데이터가 독립적으로 저장됩니다. ※ 진짜 값을 가르키고 있다 라는 뜻은 BookDTO 클래스에 정의된 변수들을 의미합니다. 위처럼 new BookDTO(); 괄호 ()에 아무것도 넣어주지 않았다. 생성자는 원래 ..
gymlet
'Spring' 카테고리의 글 목록 (2 Page)