본문 바로가기

Springboot Study13

페이지네이션(Pagination)과 소팅(Sorting) 1. 페이지네이션(Pagination)페이지네이션은 대량의 데이터를 여러 페이지로 나누어 표시하는 기법입니다. 예를 들어, 검색 결과가 수천 건 이상인 경우 모든 결과를 한 번에 표시하지 않고, 페이지당 일정 개수의 데이터만 표시하여 사용자가 원하는 페이지를 탐색할 수 있도록 합니다. 페이지네이션은 데이터의 양이 많을수록 서버와 네트워크 리소스를 절약하고, 사용자에게 더 나은 경험을 제공합니다.예시:온라인 쇼핑몰에서 상품 목록을 볼 때, 한 페이지에 10개씩만 표시하고 "다음 페이지", "이전 페이지" 버튼을 통해 이동할 수 있도록 하는 방식입니다.검색 엔진 결과에서 한 번에 10개씩 검색 결과를 보여주고, "다음"이나 "이전"을 눌러 다음 결과를 볼 수 있습니다.구성 요소:페이지 번호: 사용자가 보고 .. 2024. 11. 8.
페이지네이션(Pagination)과 스크롤링(Scrolling) 페이지네이션(Pagination)과 스크롤링(Scrolling)은 웹 애플리케이션이나 모바일 애플리케이션에서 콘텐츠를 표시하는 방식의 차이를 말합니다. 두 방식은 데이터가 많은 경우 사용자가 원하는 정보를 쉽게 찾을 수 있도록 하는 데 도움을 주지만, 사용자 경험과 구현 방식에 차이가 있습니다.1. 페이지네이션(Pagination)페이지네이션은 데이터가 여러 페이지로 나뉘어 한 번에 일정 수의 데이터만 표시되는 방식입니다. 사용자가 페이지 번호를 선택하거나 "다음" 버튼을 눌러 이동할 수 있습니다.특징고정된 데이터 양: 한 페이지에 표시되는 데이터 수가 고정되어 있어, 서버의 부담이 적습니다.명확한 위치: 사용자는 현재 몇 페이지에 있는지 명확히 알 수 있고, 원하는 페이지로 이동이 가능합니다.구현의 용.. 2024. 11. 5.
JWT (JSON Web Token) 1. Token의 역할과 특징토큰은 HTTP의 상태 비저장성을 보완하고, 사용자 인증, 세션 관리, 권한 부여를 보다 안전하게 관리하기 위해 웹 애플리케이션에서 사용됩니다. 주로 클라이언트와 서버 간 인증 및 통신 과정에서 사용됩니다.주요 기능인증 (Authentication): 사용자가 누구인지 확인하고, 그 사용자가 시스템에 접근할 수 있는 권한을 서버에 알림.세션 관리 (Session Management): 각 요청에 토큰을 포함해 사용자 세션을 관리. 이 방식은 서버 확장성과 무관하게 작동하여 서버 부담을 줄임.권한 부여 (Authorization): 토큰에 사용자의 권한 정보가 담겨 있어, 서버는 해당 사용자의 접근 권한을 쉽게 판단할 수 있음.보안 (Security): 토큰은 서명(Signat.. 2024. 11. 1.
CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유) CORS(Cross-Origin Resource Sharing)는 웹 애플리케이션이 다른 출처의 리소스에 접근할 수 있도록 허용하는 보안 메커니즘입니다. 이 기능은 브라우저와 서버 간의 보안 정책을 설정해, 외부 출처로부터의 요청을 제어할 수 있도록 합니다. CORS 설정은 웹 애플리케이션의 보안을 강화하면서도, 필요한 경우에만 특정 출처에서의 요청을 허용할 수 있게 해줍니다. 1. 기본 CORS 개념CORS는 동일 출처 정책(SOP, Same-Origin Policy)에 기반을 두고 있으며, 웹 페이지가 로드된 출처(도메인, 프로토콜, 포트)와 다른 출처의 리소스에 접근할 수 없도록 제한하는 보안 장치입니다. CORS를 통해 서버는 외부 출처에서의 요청을 허용할 수 있습니다.2. CORS 요청 유형Si.. 2024. 11. 1.
CSRF(Cross-Site Request Forgery) HTML 코드는 CSRF(Cross-Site Request Forgery) 공격의 예시입니다. CSRF 공격은 사용자가 인증된 세션을 유지한 상태에서 특정 사이트를 방문하게 하여, 악의적인 요청을 사용자의 계정으로 전송하게 만드는 공격 기법입니다. 예를 들어, 사용자가 이미 mybank.com에 로그인된 상태에서 해당 코드를 포함하는 페이지를 로드하면, 자동으로 자금 이체 요청이 실행됩니다.설명:자동 폼 전송: 로 폼이 자동 전송되도록 설정하여 사용자가 의도하지 않은 자금 이체 요청이 수행됩니다.자동 쿠키 전송: www.xxx.com을 통해 자동으로 쿠키가 첨부되어 세션이 유지된 상태로 요청이 전달됩니다.방지 방법:CSRF 토큰 사용: 서버는 폼과 함께 고유한 토큰을 발급하여, 요청 시 해당 토큰을 포함.. 2024. 10. 31.
Filter (FilterChain) 스프링 시큐리티(Spring Security)는 다양한 필터로 구성된 필터 체인을 통해 보안 기능을 구현합니다. 각 필터는 인증(Authentication), 권한 부여(Authorization), 세션 관리 등 특정한 보안 기능을 수행합니다. Spring Security의 필터는 특정 순서에 따라 동작하며, 이로 인해 전체 보안 프로세스가 체계적으로 처리됩니다. 주요 필터와 그 역할을 정리하면 다음과 같습니다:1. SecurityContextPersistenceFilter역할: 요청이 들어오면 SecurityContext를 조회하고, 인증 정보를 유지합니다. 요청이 끝나면 SecurityContext를 세션에 저장하여 이후 요청에서도 인증 정보를 사용할 수 있게 합니다.위치: 보안 체인의 가장 앞 부분.. 2024. 10. 31.