반응형 웹개발/spring15 spring security CSRF 웹 취약 대응하기 ( CSRF 토큰 생성 및 체크 ) 1. 개요 CSRF의 정의 Spring Boot에서의 CSRF Filter 처리 방식 2. CSRF란? 사이트 간 요청 위조(Cross-site request forgery, CSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. - 위키백과 특정사이트에 로그인 된 상태에서 메일이나 게신판들을 열람했을 때 자신의 의지와는 상관없이 수정,삭제,등록 등이 일어나는 행위를 말한다.(같은 브라우저상에서는 탭이 다르더라도 세션이 (JSESSIONID등의)쿠키로 공유 되기 때문이다.) 밑에 설명은 같은 사이트내에서 발생한 예제이지만, 이름에서 알수 있듯이 보통은 타 사이트에서에 요청을 차단하는 것이.. 2022. 12. 12. Spring Java 수정 시 톰캣 재 실행 안하고 적용하기. 출처 : https://junghn.tistory.com/entry/eclipse-%ED%86%B0%EC%BA%A3-%EC%9E%AC%EC%8B%9C%EC%9E%91-%EC%97%86%EC%9D%B4-java-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%88%98%EC%A0%95-%EC%A0%81%EC%9A%A9-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 오늘은 Spring Loaded를 이용해서 톰캣 재구동 없이 변경된 수정 내역을 반영하는 방법에 대해 정리에 보겠습니다. 스프링 로드란? Spring Loaded는 JVM이 실행되는 동안 클래스 파일이 변경되면 변경된 사항을 다시 로드하기 위한 JVM 에이전트입니다. 나중에 재로드 할 수 있도록 로드 시 클래스를 변.. 2022. 7. 26. Spring Boot 프로젝트 생성 출처: https://daslyee.tistory.com/80 [Daslyee:티스토리] 1. 다운로드 : https://spring.io/tools 2. 여기서는 윈도우용으로 다운로드 후 jar 파일을 설치(더블클릭) 그렇다면 해당 폴더가 보일 것이고, 들어가서 SpringToolSuite4 실행 (한글이 없는 경로에 압축을 풀고, 실행하길 권장) 3. 프로젝트 생성(file > New > Spring StarterProject) 4. name과 group, package 등 이름을 정하고 취향에 맞게 java, war 설정 후 Next 5. 대중적인 Spring Web 선택 후 Next. 이게 뭔지 확인해보는 것도 개발 이론에 도움이 될듯 (boot 버전에 따라 보이는 것이 다름. 당황하지 말고 Sp.. 2022. 7. 1. 스프링 properties 읽어오기 추출사이트 : https://ktko.tistory.com/m/entry/Spring-properties-%EC%9D%BD%EC%96%B4%EC%98%A4%EA%B8%B0 properties 읽어오기(3가지) 1) PropertyPlaceholderConfigurer를 이용한 properties 파일 읽어오기 2) context:property-placeholder를 이용한 properties 파일 읽어오기 3) 와 Spring EL을 이용한 properties 파일 읽어오기 1) PropertyPlaceholderConfigurer를 이용한 properties 파일 읽어오기 프로퍼티를 읽어오기 위해 간단한 선행 작업으로 /WEB-INF안에 config 폴더를 생성 후 안에 config.prpoertie.. 2022. 2. 17. 스프링 Filter 와 Listener 원본사이트 https://galid1.tistory.com/521?category=783055 SpringMVC - Spring MVC 동작원리 - 1 (Servlet의 Listener와 Filter) SpringMVC의 동작 원리 - 1 이제부터는 SpringMVC의 동작원리에 대해서 알아보는 시간을 가지며 포스팅을 할 예정입니다. 일반 java WebProject에서 부터 Spring MVC 프로젝트를 생성하기까지 천천히 알아보 galid1.tistory.com 이제부터는 SpringMVC의 동작원리에 대해서 알아보는 시간을 가지며 포스팅을 할 예정입니다. 일반 java WebProject에서 부터 Spring MVC 프로젝트를 생성하기까지 천천히 알아보면서 진행하겠습니다. 우선 SpringMVC의 .. 2022. 2. 16. 스프링 Bean의 개념과 Bean Scope 종류 원본사이트 https://cantcoding.tistory.com/47 스프링 Bean,Singleton,Bean Scope 스프링 빈(Spring Bean)이란? 스프링 IoC(Inversion of Control) 컨테이너에 의해서 관리되고 애플리케이션의 핵심을 이루는 객체들을 스프링 빈(Beans)이라고 한다. 빈은 스프링 컨테이너에 의해서 인스턴 cantcoding.tistory.com 스프링 빈(Spring Bean)이란? 스프링 IoC(Inversion of Control) 컨테이너에 의해서 관리되고 애플리케이션의 핵심을 이루는 자바객체들을스프링 빈(Beans)이라고 한다. 빈은 스프링 컨테이너에 의해서 인스턴스화 되어 조립되고 관리됩니다.스프링 컨테이너가 관리해준다는 점을 제외하면 일반 자바.. 2022. 2. 16. 스프링 필터 (필터와 인터셉터 차이점) 원본사이트 https://mangkyu.tistory.com/173 [Spring] 필터(Filter) vs 인터셉터(Interceptor) 차이 및 용도 Spring은 공통적으로 여러 작업을 처리함으로써 중복된 코드를 제거할 수 있도록 많은 기능들을 지원하고 있다. 이번에는 그 중에서 필터(Filter) vs 인터셉터(Interceptor)의 차이에 대해 알아보고자 mangkyu.tistory.com Spring은 공통적으로 여러 작업을 처리함으로써 중복된 코드를 제거할 수 있도록 많은 기능들을 지원하고 있다. 이번에는 그 중에서 필터(Filter) vs 인터셉터(Interceptor)의 차이에 대해 알아보고자 한다. 또한 간략하게 인터셉터(Interceptor)와 AOP(Aspect Oriented .. 2022. 2. 16. 스프링 Listener 원본글 https://dololak.tistory.com/616 [서블릿/JSP] 리스너(Listner)란? 이벤트 리스너의 개념 설명. 구현 및 등록하기 리스너란? 이벤트, 리스너, 이벤트핸들러 간략 개념정리 리스너는 단어의 뜻으로 보자면 (소리를) 듣는 사람, 청취자입니다. 프로그래밍에서의 리스너는 무언가 소리를 듣는 사람을 뜻하기 보다 dololak.tistory.com 리스너란? 이벤트, 리스너, 이벤트핸들러 간략 개념정리 리스너는 단어의 뜻으로 보자면 (소리를) 듣는 사람, 청취자입니다. 프로그래밍에서의 리스너는 무언가 소리를 듣는 사람을 뜻하기 보다는 특정 이벤트(특정한 사건)가 발생하기를 '귀 기울여' 기다리다가 실행되는 컴포넌트(메서드나 함수)를 말합니다. 리스너는 이벤트가 발생함과 동시에.. 2022. 2. 16. 스프링 Annotation 원본사이트 https://velog.io/@gillog/Spring-Annotation-%EC%A0%95%EB%A6%AC [Spring] Annotation 정리 Annotation(@)은 사전적 의미로는 주석이라는 뜻이다. 자바에서 사용될 때의 Annotation은 코드 사이에 주석처럼 쓰여서 특별한 의미, 기능을 수행하도록 하는 기술이다. velog.io Annotation 이란? Annotation(@)은 사전적 의미로는 주석이라는 뜻이다. 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다. meta data : 데이터를 위한 데이터) 다음은 어노테이션의 용도를 나타낸 것.. 2022. 2. 16. 스프링 AOP 원본사이트 : https://atoz-develop.tistory.com/entry/Spring-%EC%8A%A4%ED%94%84%EB%A7%81-AOP-%EA%B0%9C%EB%85%90-%EC%9D%B4%ED%95%B4-%EB%B0%8F-%EC%A0%81%EC%9A%A9-%EB%B0%A9%EB%B2%95?category=869240 [Spring] 스프링 AOP 개념 이해 및 적용 방법 [Spring] 스프링 AOP 개념 이해 및 적용 방법 1. AOP(Aspect Oriented Programming) Spring은 Spring Triangle이라고 부르는 세 가지 개념을 제공해준다. 각각 IoC, AOP, PSA를 일컫는다. AOP는 Aspect Ori.. atoz-develop.tistory.co.. 2022. 2. 16. 스프링 Intercepter 원본사이트: https://velog.io/@gillog/Spring-InterceptorHandlerInterceptor-HandlerInterceptorAdapter [Spring] Interceptor란? 구현 예제와 함께 (HandlerInterceptor, HandlerInterceptorAdapter) Interceptor Interceptor는 낚아채다의 의미를 가지고있다. Client에서 Server로 들어온 Request 객체를, Controller의 Handler로 도달하기 전 가로채어, 원하는 추가 작업이나 로직을 수행 한 후 Handler로 보낼 수 velog.io Interceptor Interceptor는 낚아채다의 의미를 가지고있다. Client에서 Server로 들어온 Req.. 2022. 2. 16. 스프링 AOP 개념 이해 및 적용 방법 원본사이트 : https://atoz-develop.tistory.com/entry/Spring-스프링-AOP-개념-이해-및-적용-방법?category=869240 [Spring] 스프링 AOP 개념 이해 및 적용 방법 [Spring] 스프링 AOP 개념 이해 및 적용 방법 1. AOP(Aspect Oriented Programming) Spring은 Spring Triangle이라고 부르는 세 가지 개념을 제공해준다. 각각 IoC, AOP, PSA를 일컫는다. AOP는 Aspect Ori.. atoz-develop.tistory.com [Spring] 스프링 AOP 개념 이해 및 적용 방법 1. AOP(Aspect Oriented Programming) Spring은 Spring Triangle이라고 .. 2022. 2. 16. 스프링 MVC 호출 순서와 기본 설정 방법 원본사이트 https://velog.io/@ehdrms2034/스프링-MVC-Spring-MVC-구조 스프링 MVC - Spring MVC 구조 및 예외처리 본 글은 스프링 MVC에 대해 지식을 정리하고 나중에 헷갈릴 때 다시 보기 위한 글입니다 👀본 게시글은 Spring MVC Quick Start를 참조하여 정리한 글입니다. 📖 👀본 게시글은 Spring MVC Documentation를 velog.io https://velog.io/@gillog/Spring-MVC-%EA%B5%AC%EC%A1%B0 Spring MVC 구조 스프링 MVC는 Model2 방식을 따르며 이 Model2의 아키텍처에 맞게 설계되어 있다. 스프링에서는 유저의 요청을 받는 DispathcerServlet이 핵심이다. velo.. 2022. 2. 16. 컨트롤 와 뷰간에 데이터 주고 받기(파라메터 종류) 2 원본사이트 https://admm.tistory.com/54 [Spring] 컨트롤러와 프론트 사이에서 값 전달하는 방법의 종류 [1] 들어가며 Spring 프레임워크의 컨트롤러와 JSP사이에서 값을 주고 받는 것은 웹프로그래밍에서 가장 기본적인 작업입니다. 하지만 값을 전달하는 방법의 종류가 많고 프레임워크특성상 많은 admm.tistory.com [1] 들어가며 Spring 프레임워크의 컨트롤러와 JSP사이에서 값을 주고 받는 것은 웹프로그래밍에서 가장 기본적인 작업입니다. 하지만 값을 전달하는 방법의 종류가 많고 프레임워크특성상 많은 부분이 자동화되어 지기 때문에 그 원리를 이해하지 못한채로 사용하다 보니 세팅이 조금 다른 프로젝트를 가거나 혹은 내용이 막혔을 때 응용하기가 어려운 부분이 있습니다... 2022. 2. 16. 컨트롤 와 뷰간에 데이터 주고 받기(파라메터 종류) 참고사이트 https://doing7.tistory.com/10 [Spring] Controller에서 데이터 받기 Controller은 비지니스 로직을 처리하고 데이터를 가공한다. 이때 비지니스 로직을 처리하기위해 controller에서 데이터를 받는 방법에 대해서 알아보자. 크게 HttpServletRequest, @RequestParam, @RequestBody,.. doing7.tistory.com Controller은 비지니스 로직을 처리하고 데이터를 가공한다. 이때 비지니스 로직을 처리하기위해 controller에서 데이터를 받는 방법에 대해서 알아보자. 크게 HttpServletRequest, @RequestParam, @RequestBody, @ModelAtrribute, @PathVari.. 2022. 2. 16. 이전 1 다음 반응형