본문 바로가기

반응형

Backend

(180)
[STS] Updating Maven Dependencies 에러 & Git Merge Conflict 수행 Exception java.lang.ExceptionInitializerError [ ~ : Updating Maven Dependencies"] 에러 Maven Clean 후 Maven Build시 Goals에 install수행하게 작성 Git Merge Conflict 수행 Step 1) 원격 저장소의 변경사항 가져오기 프로젝트 선택하여 마우스 우클릭 >> Team >> Pull 선택 Conflicting이 발생한 commit 목록이 표시된다. Step 2) Conflict 위치 찾기 및 수정 Eclipse의 Project Explorer에 conflict이 발생한 파일을 확인하다. Git은 컴파일 오류를 유발고 눈에 띄게 할 목적으로 conflict이 발생한 부분을 > 로 표시한다. 복잡한 conf..
[Algorithm] 데일리 백준 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String[] numbers = br.readLine().split(" "); // 동작안함 // int[] dice = new int[numbers.leng..
[Spring Security] JWT Cookie 저장 작업 JWT를 담는 방법은 3가지가 있는데 HTTP Header, Cookie, Session/Local Storage에 담는 방법이다. 각각에 대한 특징은 아래와 같다.- HTTP Header (Authorization header): 이 방법은 특히 API 사용 시에 자주 사용되며 클라이언트는 각 요청의 Authorization 헤더에 JWT를 포함시켜 서버로 보낸다.이 방식은 CSRF (Cross-Site Request Forgery) 공격에 취약하지 않으며, 토큰이 로컬 스토리지나 세션 스토리지에 저장되지 않기 때문에 XSS (Cross-Site Scripting) 공격에 대한 노출을 줄일 수 있다.- Cookie: JWT를 쿠키에 저장한다.이 방법은 서버와 클라이언트 간에 자동으로 JWT를 전송할 수..
[CSRF]About CSRF CSRF란? CSRF(크로스 사이트 요청 위조, Cross-Site Request Forgery)는 웹 애플리케이션의 보안 취약점 중 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행동을 웹 애플리케이션에 대해 수행하도록 만드는 공격 기법. XSS공격과 세트로 공격이 발생하는 경우가 많다. CSRF 동작 원리 사용자가 웹 애플리케이션에 로그인하여 세션 쿠키를 받는다. 공격자는 악의적인 요청을 만들어, 사용자가 클릭하거나 방문할 수 있는 웹 페이지나 이메일 메시지에 삽입한다. 공격자가 삽입한 링크를 통해 사용자의 브라우저는 사용자의 세션 쿠키를 사용하여 공격자가 준비한 악의적 요청을 웹 애플리케이션에 전송한다. 웹 애플리케이션은 이 악의적 요청을 정상적인 사용자의 요청으로 인식하고, 요청된 작..
[Algorithm] 데일리 백준 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); // String[] inputs = br.readLine().split(" "); // // int a = Integer.parseInt(inputs[0]); // // int b = Integer.parseInt(inputs[1]); // // if(..
[Spring Security] JWT토큰 사용 코드 이어지는 이전 글 : [Spring Security] JWT토큰 적용하기 [Spring Security] JWT토큰 적용하기 프로젝트 환경 spring boot : 3.2.2 spring security : 6.2.1 java : 17 database : h2 JWT토큰을 적용해 보려 한다. JWT토큰이란? JSON Web Token (JWT)는 마이크로 서비스의 인증, 인가에 사용할 수 있는 서명된 JSON이다. nwblog06.tistory.com JWT토큰관련 class import io.jsonwebtoken.Claims; import io.jsonwebtoken.ExpiredJwtException; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Ma..
[Algorithm] 데일리 백준 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); // String number1 = br.readLine(); // String[] number2 = br.readLine().split(""); // int[] result = new int[number2.length]; // // int a = Int..
[Spring Security] Onceperrequestfilter vs Usernamepasswordauthenticationfilter JWT필터를 구현하는 과정에서 궁금증이 생겼다. 구현을 하면서 인증과 인가를 함에 있어 2개의 필터를 상속받아 구현하는것이 맞을까 하는 궁금증이었다. 내가 구현하는 구조가 잘못되었을지도 모르고 중복 동작을 구현했을지도 모르니 찾아보기로 했다. 일단 JWT필터를 구현함에 있어 알아본 필터는 4가지가 있다. 1. UsernamePasswordAuthenticationFilter AbstractAuthenticationProcessingFilter의 하위 클래스로 주로 웹 폼 기반의 로그인 처리를 다루는 데 사용된다. 사용자가 로그인 폼에 입력한 사용자명과 비밀번호를 받아와 인증을 시도한다. UsernamePasswordAuthenticationFilter는 사용자 이름과 비밀번호를 사용하여 인증을 시도하는 ..

반응형