반응형

전체 글 50

spring security in action chap.13

권한부여서버 직접 구축하는 방법 자체적으로 권한부여서버를 구성하기 위해서는 아래 dependency를 추가 org.springframework.cloud spring-cloud-starter-oauth2 그리고 기존 configuration 위에 enableauthorizationserver를 어노테이션으로 지정 @Configuration @EnableAuthorizationServer public class AuthServerConfig extends AuthorizationServerConfigurerAdapter { https://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/config/annotat..

IT 2023.09.04

스프링시큐리티인액션 12장. oauth2

oauth2 구성요소 OAuth란 Open Authorization의 약자 1.사용자 : 사용자 이름과 암호로 신원 증명 / 리소스 서버가 노출하는 리소스를 소유하는 개인 2.클라이언트 : 사용자를 대신해 사용자가 소유한 리소스에 접근하는 애플리케이션. 클라이언트는 클라이언트 id와 클라이언트 비밀을 이용해 신원을 증명. 클라이언트는 요청할 때 자신을 증명하는 자체 자격 증명이 필요. 3.리소스서버 : 사용자가 소유한 리소스를 호스팅하는 서버. 리소스는 사용자의 데이터이거나 사용자가 수행할 수 있는 작업 4.권한부여서버 : 리소스 서버가 노출하는 사용자의 리소스에 접근할 권한을 부여하는 애플리케이션. 권한부여서버는 클라이언트가 사용자 대신 리소스에 접근 권한이 있다고 결정하면 토큰을 발급한다. 클라이언트..

IT 2023.09.02

spring security in action chapter 11

토큰 - 특정 엔드포인트에 접근하려는 클라이언트가 HTTP 헤더를 통해 보내는 문자열 http basic 단점 : 요청할 때마다 자격증명을 보내야 함. JSON 웹 토큰이란 : 데이터형식이 JSON인 웹 요청 JWT 토큰 세부분으로 구성/ 마침표로 구분 처음 : 헤더(header) : 토큰과 관련된 메타데이터 (알고리즘) 중간 : 본문(payload) : 세부정보 저장(길이제한 없음) 마지막부분 : 디지털서명(생략가능) signature (서명은 통해 변경됐는지 확인 가능) 기존 mysql로 되어있는 것을 아래처럼 h2 메모리 db로 변경 #spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezo..

IT 2023.08.25

백준 파이썬 10845 큐

큐 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.5 초 (추가 시간 없음) 256 MB 110134 50823 39899 48.951% 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. ..

IT 2023.08.22

스프링시큐리티인액션 챕터10

크로스 사이트 요청 위조 크로스 사이트 요청 위조(CSRF)는 인증된 사용자가 웹 애플리케이션에 특정 요청을 보내도록 유도하는 공격 행위를 말합니다. 크로스 사이트 요청 위조는 생성된 요청이 사용자의 동의를 받았는지 확인할 수 없는 웹 애플리케이션의 CSRF 취약점을 이용합니다. 예전 옥션 해킹 사건을 기준으로 예시를 들어보겠습니다. ... ... 옥션 관리자가 관리 권한을 가지고(이미 유효한 쿠키 발급된 상태로) 메일을 조회합니다. 해커는 위와 같이 태그가 들어간 코드가 담긴 이메일을 보낸다. 단, 관리자는 이미지 크기가 0이므로 이미지가 있는지 눈치를 채지 못합니다. 관리자가 메일을 열면 이미지 파일을 받아오기 위해 URL이 열리게 됩니다. 그렇게 되면 해커가 원하는 대로 관리자의 계정이 id와 pw..

IT 2023.08.17

스프링 시큐리티 인 액션 9장

소스는 아래에서 다운 가능합니다. https://github.com/wikibook/spring-security GitHub - wikibook/spring-security: 《스프링 시큐리티 인 액션》 예제 코드 《스프링 시큐리티 인 액션》 예제 코드. Contribute to wikibook/spring-security development by creating an account on GitHub. github.com 컨트롤러 소스 @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello!"; } } configuration 파일 @Configuration publi..

IT 2023.08.12

파이썬 1260번

from collections import deque N, M, V = map(int, input().split()) graph = [[False] * (N + 1) for _ in range(N + 1)] # 2차원 배열 선언 / [N+1][N+1] 선언 #graph = [[False]*(N+1)] * (N+1) # +1을 해주는 이유는 0번 일 때 1번을 바라보도록 for _ in range(M): a, b = map(int, input().split()) # 입력 graph[a][b] = True graph[b][a] = True # 2차원 배열 [3][3]일 경우 # 입력값 2 2 1 # 1 2 # 2 1 # [[False, False, False], [False, False, True], [Fa..

IT 2023.08.01

스프링 부트 img-src 특정 url 추가방법 Content Security policy directive :"img-src 'self' data:

가장 중요한 것은 아무리 html meta태그에 csp를 추가해도 아래와 같이 contentSecurityPolicy가 적용 우선 순위가 높다. @Override protected void configure(HttpSecurity http) throws Exception { http .headers() .contentSecurityPolicy( 그리고 만약 contentSecurityPolicy에 적용했는데도 적용이 안되면 다른 설정파일이 더 있는지 체크... 그리고 http .headers() .contentSecurityPolicy( "default-src 'self' 'unsafe-inline'; " + "script-src 'self'; " + "object-src 'none'; " + "base..

IT 2023.07.31
반응형