◎ Java/Java☕

    [JAVA] 서블릿 필터 코드로 보안 헤더 설정하기 [HttpOnly, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection]

    - 서블릿 필터 코드로 보안 헤더 설정하기 아래는 보안 헤더를 한 번에 설정하는 통합 서블릿 필터 코드이다. 이 필터는 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에서 중복 로그인 막는 방법]

    - 서블릿 필터를 사용한 기존 세션 무효화 서블릿 필터를 사용하여 동일한 계정으로 로그인할 때 이전 세션을 무효화할 수 있다. 이 방법은 서버에서 관리하는 세션 맵을 이용하여 로그인 시 중복 로그인을 감지하고 처리하는 방식이다.- 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 클래스란? [무작위 숫자(난수)를 생성하는 클래스]

    - Random 클래스란?Random 클래스는 Java의 java.util 패키지에 포함된 클래스로, 다양한 종류의 난수를 생성하는 데 사용된다.이 클래스는 시드(seed)를 기반으로 난수를 생성하며, 시드가 같다면 동일한 난수 시퀀스를 생성한다. - Random 클래스의 생성자기본 생성자 : 시드를 지정하지 않으면 '현재 시간(밀리초 단위)'을 시드로 사용하여 난수 생성기를 초기화한다.시드를 사용하는 생성자 : 특정 시드를 지정하여 난수 생성기를 초기화한다. 동일한 시드를 사용하면 같은 난수 시퀀스를 생성한다.Random random1 = new Random(); // 시드를 자동으로 현재 시간에 맞춰 생성Random random2 = new Random(12345L); // 시드를 12..

    [JAVA] 자바에서 Map을 반복시키는 방법 [Java Map 반복문, 순회하는 방법]

    - 자바에서 Map을 반복시키는 방법 Map map = new HashMap(); // Map 생성 // 1. Iterator 사용 Iterator keys = map.keySet().iterator(); while (keys.hasNext()) { String key = keys.next(); System.out.println(String.format("key : %s, value : %s", key, map.get(key))); } // 2. Map.Entry 사용 for (Map.Entry elem : map.entrySet()) { System.out.println(String.format("key : %s, value : %s", elem.getKey(), elem.getValue())); } ..

    [JAVA] 자바에서 txt 파일 읽는 방법 [FileInputStream, FileReader 차이]

    [JAVA] 자바 파일 쓰기에 대해 파헤치기 [FileOutputStream, FileWriter, PrintWriter 차이] [JAVA] 자바 콘솔 입력에 대해 파헤치기 [InputStream, InputStreamReader, BufferedReader 차이] - 자바 콘솔 입력에 대해 파헤치기 1. InputStream 자바에서 사용자가 입력한 문자열을 얻기 위해서는 아래와 같이 Sy yermi.tistory.com - 자바에서 txt 파일 읽는 방법 1. FileInputStream 파일을 읽기 위해서는 FileInputStream 클래스를 이용한다. 읽을 파일은 파일 쓰기에서 만든 out.txt 파일이다. import java.io.FileInputStream; import java.io.IO..