[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..
[JAVA] Random 클래스란? [무작위 숫자(난수)를 생성하는 클래스]
·
◎ Java/Java☕
- Random 클래스란?Random 클래스는 Java의 java.util 패키지에 포함된 클래스로, 다양한 종류의 난수를 생성하는 데 사용된다.이 클래스는 시드(seed)를 기반으로 난수를 생성하며, 시드가 같다면 동일한 난수 시퀀스를 생성한다. - Random 클래스의 생성자기본 생성자 : 시드를 지정하지 않으면 '현재 시간(밀리초 단위)'을 시드로 사용하여 난수 생성기를 초기화한다.시드를 사용하는 생성자 : 특정 시드를 지정하여 난수 생성기를 초기화한다. 동일한 시드를 사용하면 같은 난수 시퀀스를 생성한다.Random random1 = new Random(); // 시드를 자동으로 현재 시간에 맞춰 생성Random random2 = new Random(12345L); // 시드를 12..
[도서리뷰] 실무로 통하는 타입스크립트 - 바로 실행하며 익히는 105가지 오류 해방의 기술
·
◈ 공부모임/나는 리뷰어다🌾
- 책 정보타입스크립트의 주요 목적은 자바스크립트 개발자의 생산성과 효율성을 높이는 데 있다. 두 언어의 공생 관계를 이해해야 타입스크립트의 진정한 잠재력을 발휘할 수 있다.이 책은 자바스크립트와 타입스크립트 사이의 복잡한 관계를 이해하는 데 도움을 준다. 심층적인 설명을 통해 타입스크립트를 효율적으로 사용하는 방법뿐만 아니라, 개념 뒤에 숨겨진 사고 과정도 이해할 수 있다. 형식 어서션, 제네릭, 또는 리액트와 같은 인기 있는 라이브러리, 프레임워크와 타입스크립트를 통합하는 데 어려움을 겪고 있다면, 이 책이 그 모든 문제를 해결해 줄 것이다. 이 책과 함께 타입스크립트의 진정한 잠재력을 발휘해 보자.- 도서 리뷰"실무로 통하는 타입스크립트"는 자바스크립트 개발자가 타입스크립트를 효과적으로 활용할 수 ..
[Selenium] 웹 브라우저 창 닫는 방법 [close()와 quit() 차이]
·
▣ Framework/Selenium🌕
- 웹 브라우저 창 닫는 방법Selenium에서 창 또는 브라우저를 닫을 때 사용되는 메서드로는 driver.close()와 driver.quit()이 있다.- driver.close()close() 메서드는 현재 열려 있는 창 또는 탭을 닫는다. 현재 포커스된 창을 닫는 데 사용된다.만약 현재 포커스된 창이 마지막 창이면 브라우저를 종료한다.- driver.quit()quit() 메서드는 WebDriver 인스턴스와 연결된 모든 창 및 탭을 닫는다.모든 창 및 탭을 닫고, WebDriver 프로세스를 종료하여 메모리 리소스를 해제하는 데 사용된다.  모든 창 또는 탭을 닫아야 할 때는 driver.quit()을 사용하며,단일 창 또는 탭을 닫아야 할 때는 driver.close()를 사용한다. - dr..