본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


전체 글674

Spring JWT 를 활용한 로그인 프론트프레임워크(라이브러리)인 앵귤러, 리엑트 및 뷰js등의 기능이 이제 슬슬 대세가 되는 것 같습니다. 이러한 프론트프레임워크(라이브러리)는 SPA 방식(Single Page Application) 이기 때문에 페이지 로딩을 위해 최초 1회만 서버에 요청할 뿐 그 이후에는 데이터에 대한 CRUD 요청만 보내게 됩니다. 이러한 프론트 프레임워크에서의 기술에서 로그인과 관련된 내용을 좀 더 쉽게 구현하기 위해서는 서버에서의 세션(SESSION)보다는 특정 암호화된 키 값을 활용한 json web token 방식(JWT)이 좀 더 낫다고 생각 합니다. JWT를 사용하기 위해서는 먼저 라이브러리 2개를 받아 줍니다. * gradle 기준 implementation 'io.jsonwebtoken:jjwt:0.9.. 2021. 11. 19.
윈도우 작업 스케줄러 시작프로그램 등록시 유의사항(Window task scheduler) 윈도우 환경에서 본인이 만든 파일 또는 실행 파일을 윈도우(window) 작업 스케줄러에 등록해서 컴퓨터가 시작시, 사용자 로그인시 등에 대해서 동작 하도록 설정하는 경우가 있습니다. 일반적인 상황은 관리자 계정(Administrator)의 권한으로 등록 하므로 문제될 것도 없고 설정 방법도 매우 간단 합니다. 그런데 이와 달리, 구글에 나와있는 많은 방법을 시도 하여 보았지만, 본인의 프로그램이 정상적인 조건(case)에 의해서 동작(trigger)하지 않는 다면 권한 레벨에 따른 문제를 확인 해 보아야 합니다. 먼저 작업 스케줄러는 아래 제어판의 관리도구를 통해 확인 할 수 있습니다. 이제 본인의 조건에 맞는 스케줄을 등록한다고 가정하여 봅니다. 여기서는 컴퓨터가 껏다 켜지는 경우(시작시)에 대해서 .. 2021. 11. 1.
톰캣 서버에서의 x-frame-option 적용(anti click jacking) 톰캣(tomcat) 서버에서의 x-frame-option 적용 방법 입니다. * 톰캣 버전이 7 이상인 경우부터 적용 가능합니다. 톰캣에서의 HttpHeaderSecurityFilter 클래스를 web.xml에 적용을 하면 쉽게 설정을 할 수 있습니다. HttpHeaderSecurityFilter 클래스는 filter 인터페이스를 상속받고 있으므로 web.xml에서 필터의 노드로 표기합니다. 아래는 설정방법 입니다. * 대상 : 어플리케이션의 web.xml 파일 원하는이름 org.apache.catalina.filters.HttpHeaderSecurityFilter antiClickJackingOption SAMEORIGIN 원하는이름 원하는패턴 요렇게 설정을 하고나면 , , 같은 html 엘리먼트에 악.. 2021. 10. 29.
톰캣 서버에서 get과 post만 허용(Tomcat allow get post) 국민 어플리케이션서버인(?) 톰캣을 사용하다보면 get과 post방식만 허용을 해야되는 경우가 있습니다. put, delete 및 trace 등 기타 http요청을 통해서 해커가 취약한 코드를 실행하거나 명령을 할 수 있기 때문이라는 이유로 취약점 대비를 위해 종종 설정하기도 합니다. 이러한 설정방법은 매우 간단합니다. 본인의 어플리케이션 파일에서 web.xml 또는 톰캣의 web.xml 파일에 아래와 같은 금지목록 요청을 넣어주면 됩니다. restricted methods /* PUT DELETE OPTIONS TRACE url-pattern이라는 엘리먼트에 의해서 모든 url 패턴에 대해서 적용을 하게 되어 있습니다. 그리고 허용하지 않는 형식은 PUT, DELETE, OPTIONS, TRACE 로 .. 2021. 10. 29.
NGINX 프록시(포워딩) 해더(header) 설정 NGINX를 통해서 프록시를 구성하면 Content-type, Content-encoding 등 http 프로토콜과 관련된 기본적으로 잘 알려진 형태의 정의된 헤더만 전송이 됩니다. * 기본 http 헤더 정의 참조 : https://developer.mozilla.org/ko/docs/Web/HTTP/Headers 사용자가 임의로 정의한 해더는 옵션을 주어야만 전송이 되므로, 내가 정의한 헤더값이 전송이되지 않는 경우에는 아래처럼 설정을 변경하여야 합니다. * 대상 : conf 디렉토리의 nginx.conf 파일 server { listen 443 ssl; proxy_pass_header Server; underscores_in_headers on; #1. 언더형식의 헤더를 허용 합니다. locatio.. 2021. 10. 25.
Spring XSS 방지를 위한 lucy 필터(com.navercorp.lucy) xss공격 방지를 위해 다양한 방법이 나오지만 가장 쉬운 것은 잘 만들어진(?) 라이브러리를 사용하는 것 입니다. 이러한 라이브러리는 그만큼 많은 테스트와 검증이 되었을 테니까요. 스프링(전자정부)에서 XSS 공격을 방지하기 위해서 네이버 형님들께서 만드신 com.navercorp.lucy 패키지의 라이브러리를 사용하여 보았습니다. 아래 메이븐 리파지토리에서 자신의 빌드환경에 맞는 내용을 추가하여 주시면 됩니다. https://mvnrepository.com/artifact/com.navercorp.lucy 메이븐 환경에서 위 2개의 라이브러리를 추가한 모습 입니다. * 파일명 : pom.xml com.navercorp.lucy lucy-xss-servlet 2.0.1 com.navercorp.lucy .. 2021. 10. 15.