[JAVA] 서블릿 필터 코드로 보안 헤더 설정하기 [HttpOnly, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection]
·
◎ Java/Java☕
- 서블릿 필터 코드로 보안 헤더 설정하기 아래는 보안 헤더를 한 번에 설정하는 통합 서블릿 필터 코드이다. 이 필터는 HttpOnly, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection를 모든 응답에 적용한다.HttpOnly: Set-Cookie 헤더에 HttpOnly 속성을 추가하여 모든 쿠키에 대해 적용되도록 설정X-Content-Type-Options: 브라우저가 MIME 타입을 스니핑하지 않도록 설정X-Frame-Options: 클릭재킹 방지를 위해 페이지가 내에 표시되지 않도록 설정X-XSS-Protection: 브라우저에서 XSS 필터를 활성화Content-Security-Policy: 외부 ..
[JAVA] 서블릿 필터를 사용한 기존 세션 무효화 [여러 pc에서 중복 로그인 막는 방법]
·
◎ Java/Java☕
- 서블릿 필터를 사용한 기존 세션 무효화 서블릿 필터를 사용하여 동일한 계정으로 로그인할 때 이전 세션을 무효화할 수 있다. 이 방법은 서버에서 관리하는 세션 맵을 이용하여 로그인 시 중복 로그인을 감지하고 처리하는 방식이다.- SessionManagementFilter.java 추가import javax.servlet.*;import javax.servlet.http.*;import java.io.IOException;import java.util.concurrent.ConcurrentHashMap;public class SessionManagementFilter implements Filter { // 사용자 ID를 키로 하고, 세션을 값으로 가지는 맵 private static fina..
[웹 보안] 세션 만료 시간 설정하기 [로그인 만료 기준(30분) 시간 초과]
·
◈ Study/웹 보안(Web Security)🔐
- 세션 만료 시간을 설정하기 1. web.xml 파일에서 세션 타임아웃 설정 각 웹 애플리케이션의 WEB-INF 폴더에 있는 web.xml 파일에서 세션 타임아웃 시간을 설정할 수 있다.만약 일반 사용자 페이지와 관리자 페이지가 별도의 웹 애플리케이션으로 구분되어 있다면 각각의 web.xml 파일에 이 설정을 추가하면 된다. 30 2. 코드에서 동적으로 세션 타임아웃 설정 세션 타임아웃을 동적으로 설정해야 하는 경우, JSP, 서블릿 또는 필터에서 세션을 생성할 때 다음과 같이 설정할 수 있다. 이 방법을 사용하면 특정 조건에 따라 다른 세션 타임아웃을 설정할 수 있다. HttpSession session = request.getSession();session.setMaxInactiveIn..