분류 전체보기
-
SQL Injection이란 웹 애플리케이션에서 데이터의 유효성 검증을 하지 않아, 개발자가 의도하지 않은 동적 쿼리(Dynamic Query)를 생성하여 조작된 SQL문으로 DB 정보를 열람하거나 변경할 수 있는 보안 취약점 대표 예시 SELECT * FROM user Where userId = '${userId}' and userPw = '${userPw}' 위의 경우에 ${userPw}에 pw' or 1=1 값을 입력하면 SELECT * FROM user Where userId = 'valideUserId' and userPw = 'pw' or 1=1 실행되어 id만 알아도 로그인이 되는 현상이 발생할 수 있다. 이러한 현상을 방지하기 위해서 DB layer에서 Prepared Statement 기..
[SQLI] SQL Injection ( + Mybatis )SQL Injection이란 웹 애플리케이션에서 데이터의 유효성 검증을 하지 않아, 개발자가 의도하지 않은 동적 쿼리(Dynamic Query)를 생성하여 조작된 SQL문으로 DB 정보를 열람하거나 변경할 수 있는 보안 취약점 대표 예시 SELECT * FROM user Where userId = '${userId}' and userPw = '${userPw}' 위의 경우에 ${userPw}에 pw' or 1=1 값을 입력하면 SELECT * FROM user Where userId = 'valideUserId' and userPw = 'pw' or 1=1 실행되어 id만 알아도 로그인이 되는 현상이 발생할 수 있다. 이러한 현상을 방지하기 위해서 DB layer에서 Prepared Statement 기..
2023.07.29 -
Valve request processing pipeline에 특정 기능을 수행하기 위해 추가될 수 있는 컴포넌트 introduced with Tomcat 4 Valve는 서블릿의 필터 개념을 서버와 가상호스트 레벨로 확장시킨 개념 웹엔진, 가상호스트, 컨텍스트 (Engine, Host, Context) 순서로 Valve 코드를 실행시키게 되며, 필터와 Valve가 모두 설정되어 있는 경우에는 Valve의 설정 모두 적용된 이후에 필터가 적용되게 된다. AccessLog Tomcat Layer에 AccessLog 설정 시 이용 pattern 값은 원하는 형태로 변경하여 사용 관련 attribute 정보 : https://tomcat.apache.org/tomcat-7.0-doc/config/valve.h..
[TOMCAT] Valve에 대해서(RemoteIp, Accesslog)Valve request processing pipeline에 특정 기능을 수행하기 위해 추가될 수 있는 컴포넌트 introduced with Tomcat 4 Valve는 서블릿의 필터 개념을 서버와 가상호스트 레벨로 확장시킨 개념 웹엔진, 가상호스트, 컨텍스트 (Engine, Host, Context) 순서로 Valve 코드를 실행시키게 되며, 필터와 Valve가 모두 설정되어 있는 경우에는 Valve의 설정 모두 적용된 이후에 필터가 적용되게 된다. AccessLog Tomcat Layer에 AccessLog 설정 시 이용 pattern 값은 원하는 형태로 변경하여 사용 관련 attribute 정보 : https://tomcat.apache.org/tomcat-7.0-doc/config/valve.h..
2023.07.17 -
location 하위 블록에 proxy_set_header를 통해서 X-Forwarded-For, X-Real_IP와 같은 header를 세팅한다. 그러면 Tomcat과 같은 WAS Layer에서 해당 설정을 읽어서 IP 정보를 사용하게 된다. user nginx; worker_processes 2; ... http { include mime.types; upstream back-server { server 127.0.0.1:3000; keepalive 32; } ... server { ... location / { proxy_pass http://back-server; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP..
[NGINX] client ip설정 (proxy_set_header, remote_addr, http_x_forwarded_for, proxy_add_x_forwarded_for)location 하위 블록에 proxy_set_header를 통해서 X-Forwarded-For, X-Real_IP와 같은 header를 세팅한다. 그러면 Tomcat과 같은 WAS Layer에서 해당 설정을 읽어서 IP 정보를 사용하게 된다. user nginx; worker_processes 2; ... http { include mime.types; upstream back-server { server 127.0.0.1:3000; keepalive 32; } ... server { ... location / { proxy_pass http://back-server; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP..
2023.07.11 -
Thread 종류 non-daemon, daemon tread non-daemon thread java의 main을 실행했을 때 실행되는 thread daemon thread 위의 non-daemon이 아닌 thread의 작업을 돕는 보조적인 역할을 하는 thread non-daemon thread가 모두 죽으면, daemon thread도 강제적으로 종료된다 garbage collection와 같은 백그라운드 태스크를 실행하며 low priority를 가지고 있습니다. Thread 상태 스레드의 상태는 java.lang.Thread 클래스 내부에 State라는 이름을 가진 Enumerated Types(열거형)으로 선언되어 있습니다. NEW 스레드가 생성되었지만 아직 실행되지 않은 상태 RUNNABLE..
[JAVA] Thread 종류 및 상태Thread 종류 non-daemon, daemon tread non-daemon thread java의 main을 실행했을 때 실행되는 thread daemon thread 위의 non-daemon이 아닌 thread의 작업을 돕는 보조적인 역할을 하는 thread non-daemon thread가 모두 죽으면, daemon thread도 강제적으로 종료된다 garbage collection와 같은 백그라운드 태스크를 실행하며 low priority를 가지고 있습니다. Thread 상태 스레드의 상태는 java.lang.Thread 클래스 내부에 State라는 이름을 가진 Enumerated Types(열거형)으로 선언되어 있습니다. NEW 스레드가 생성되었지만 아직 실행되지 않은 상태 RUNNABLE..
2023.07.08