본문 바로가기

전체 글231

aws 비용폭탄!! 너무 슬프다 아직 취직도 못했는데 예상치못하게 프리티어도 끝나고 갑자기 AWS에서 거의 5만원을 빼갔다. 전에 프로젝트했던것도 EC2도 꺼놓고 rds도 중지해놨는데 왜이렇게 나간거지 보니, vpc에서 엄청많이 나가고있었다. 왜그런가 하고 찾아보니 모든 Ipv4에 대해 요금이 부과된다고 한다. 그래서 지금 만들고있던 프로젝트도 다 RDS를 사용중이었는데 비용을 감당 못하겠어서 아이디를 삭제해버렸다. 너무 슬프다. 그냥 로컬 DB써야지.. 2024. 4. 3.
spring security를 알아보자 - 9 ㅇ CORS(Cross-Origin Resource Sharing) CORS 에러는 웹 애플리케이션에서 요청을 보낼 때, 해당 요청이 다른 도메인, 프로토콜, 또는 포트를 가지고 있는 서버로부터 자원을 요청하는 경우에 브라우저에 의해 발생한다. 서버에서 이러한 요청을 허용하려면, 응답에 Access-Control-Allow-Origin과 같은 CORS 헤더를 포함해야 합니다. 서버 설정에서 이 헤더를 올바르게 구성하지 않으면, 브라우저는 보안상의 이유로 응답을 차단하고, 개발자 콘솔에 CORS 관련 에러 메시지를 표시함. CORS는 보안공격이 아니라, 그로부터 지키기 위해 실행되는 보호단계로 보면 된다. 나도 처음 프로젝트에서 CORS 설정을 해주지 않아서 배포과정에서 실패했던 기억이 있다. 좀더 알기 .. 2024. 4. 2.
spring security를 알아보자 - 8 저번까진 spring security에서 제공하는 비밀번호 인코딩 해싱에 대해 봤다. 이번엔 Authentication Provider에 대해 자세히 아라보자. ㅇ Authentication Provider의 역할 사용자가 제공한 인증정보를 기반으로 사용자의 인증을 수행하는 역할을 함. 인증정보가 유효한지 검증하고, 해당 사용자에 대한 인증을 완료하는 과정을 담당함. Authentication 객체를 검사해 해당 사용자가 시스템에 접근할 권한이 있는지 확인하고, 사용자의 상세정보를 로드하고, 인증결과를 새로 Authentication 객체로 생성한다. ㅇ Authentication Provider의 종류 DaoAuthenticationProvider: 가장 기본적인 AuthenticationProvide.. 2024. 3. 29.
spring security를 알아보자 - 7 ㅇ PasswordEncoder의 역할을 알아보자. 데이터베이스에는 비밀번호가 절때로 그냥 문자열로 저장되면 로그에서나, 다른부분에서 유출이 발생할 수 있어서, 절대 그렇게 저장해서는 안된다. DB에 항상 저장할땐 비밀번호를 인코딩해서 저장을 해야한다. Spring security 프레임워크 내에 어디서 비밀번호 검증이 일어날까? DaoAuthenticationProvider에서 실질적인 검증이 일어난다. authenticate() 에서 유저정보를 불러오고, PreAuthenticationCheck에서 만료되었는지 검증하고, additionalAuthenticationChecks() 에서 인증객체를 받고 거기에 입력받은 비밀번호정보를 PsswordEncoder.matches() 로 인코딩한 입력받은 비밀.. 2024. 3. 26.