본문 바로가기

Spring Framework/project6

CSRF 는 무엇인가? 보안에서 굉장히 중요한 역할을 하고 있다. 프로젝트를 배포할때 꼭 고려해야 하는 상황이다. 이러한 점을 고려하지 않고 배포하게 된다면 보안에 굉장히 문제가 될수있다~! 사이트 간 요청 위조 위키백과, 우리 모두의 백과사전. (Csrf에서 넘어옴) 둘러보기로 가기검색하러 가기 사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. 유명 경매 사이트인 옥션에서 발생한 개인정보 유출 사건에서 사용된 공격 방식 중 하나다. 사이트 간 스크립팅(XSS)을 이용한 공격이 사용자가.. 2020. 2. 12.
Spring 실시간 알림(webSocket) # 블로그 예제는 단일 서버에서 통신한다는 전제로 구현된 간단한 예제입니다. 조금 더 구체적인 예제와 설계를 참고하고 싶다면 '가상 면접 사례로 배우는 대규모 시스템 설계 기초' 의 12장 채팅시스템 설계 부분을 참고하시면 많은 도움이 될겁니다. 구현 목록 1)로그인 되어 있는 사람의 글에 누군가 로그인 하고있는 회원이 좋아요 , 팔로우 , 스크랩을 했을때 글의 주인에게 실시간으로 알림이 가는것. 2)만약 로그인이 되어 있지 않다면 그 내용이 저장이 되어 다음에 로그인시 내용을 볼수있게 만들어라! 모든페이지에서 알림을 받기위해서 websocket 연결은 전역으로 구현했습니다. (index.jsp) 그리고 서버에서는 로그인 회원의 이메일별로 SocketSession을 관리한다. 환경설정 pom.xml or.. 2020. 1. 26.
Spring Security - LoginFailureHandler 로그인이 실패 할 수 있는 경우는 많이 존재한다. 1. 로그인 비밀번호가 틀렸다. 2.계정이 존재하지 않는다. 3.이메일 인증을 하지 않았다. 4.누군가 내 아이디로 로그인을 하고있다. (중복로그인) 이러한 4가지의 경우를 모두 처리를 해줘야 한다. 로그인 성공보다 더욱 많은 부가 작업이 이루어져야한다! 이러한 부가 작업을 사람들은 커스터마이징 한다고 한다! LoginFailureHandler.java @Data public class LoginFailureHandler implements AuthenticationFailureHandler { private String loginemailname; private String loginpwdname; private String errormsgname; p.. 2020. 1. 6.
Spring Security - LoginSucessHandler loginSuccessHandler에 접근하면 몇가지 일을 해줘야한다! 1. 로그인에 성공 후 이동할 URL을 지정하여 지정한 URL로 이동해야 한다. 2. 로그인에 성공했을 때 이동할 곳은 다 다르다. 로그인 버튼을 눌러 직접 로그인화면으로 갔다면 성공 후엔 메인 화면으로 가야 할 것이고, 권한이 필요한 곳에 접근하여 강제로 로그인 화면으로 이동했다면 성공 후엔 그 권한이 필요했던 곳으로 가야한다. 예를 들어서, 게시판에 접근하려고 하는데 접근권한이 없어서 로그인페이지로 이동을 하게되고 로그인후에는 내가 클릭했었던 게시물을 기억하고 있다가 로그인을 성공하는 순간 그 게시물로 이동하게 된다. 여러 홈페이지를 유심히 봤던 사람이라면 이러한 동작을 하는걸 본적 있을 것 이다! 3.로그인 실패 에러 세션 지우.. 2020. 1. 6.