티스토리

jetalog.net
검색하기

블로그 홈

jetalog.net

jetalog.net/m

jETA가 쓰는 jetalog

구독자
3
방명록 방문하기
공지 jETA Lab에 관하여... 모두보기

주요 글 목록

  • [sakd.uk 이슈노트] JWT 보안 - 2 - RefreshToken 관리 (RTR) TL;DR사용자가 사용한 RefreshToken을 가로채 새로운 AccessToken을 발급받을 수 있다.RTR을 적용하여 이러한 재전송 공격을 방지할 수 있다.현재 발행되어 있는 토큰을 관리하기 위해 Redis, DB 등이 필요하다.   RefreshToken을 탈취당한다면?이전 글에서 RefreshToken은 쿠키에 보관하여 JavaScript에서 직접 접근을 방지할 수 있다고 작성했습니다. 하지만 공격자가 토큰을 탈취하는 것을 완전하게 차단할 수는 없습니다.우회하여 RefreshToken을 열람할 수 있죠.  아래는 공격 시나리오 중 하나입니다.사용자가 AccessToken 갱신을 요청한다.공격자가 전송되는 쿠키를 가로채 RefreshToken(RT1)을 탈취한다.사용자는 신규 AccessToke.. 공감수 1 댓글수 0 2025. 4. 15.
  • [sakd.uk 이슈노트] JWT 보안 - 1 - 토큰 저장 TL;DR정답은 없다.개인적으로 권장하는 방법은 AccessToken은 비공개 변수로, RefreshToken은 Cookie로 저장.Cookie는 secure, httpOnly 등의 설정을 적용하여 XSS 공격을 방지.   보다 안전하게 사용하기JWT를 구현하는 글은 여기저기 있고, 발급한 토큰을 어떻게 관리할지에 대한 고민을 적어보려고 합니다.사용자의 편의성과 보안 사이에서 균형을 잡는건 항상 어려운 일입니다. 토큰 인증 방식은 편리하지만 토큰이 탈취된다면 이를 즉시 조치하기가 어렵다는 단점도 존재합니다.따라서 안전하게 보관하는 것이 중요합니다.  웹 클라이언트에서 토큰을 보관할 수 있는 대표적인 장소를 비교해보겠습니다.  JavaScript 변수LocalStorageCookie새로고침 후 유지되는가휘.. 공감수 0 댓글수 0 2025. 4. 1.
  • [sakd.uk 이슈노트] Docker 이미지 경량화 TL;DR경량화 된 이미지를 활용해라.dockerignore 파일을 활용해라build를 위한 컨테이너와 배포를 위한 컨테이너를 분리해라   컨테이너를 쓰자소프트웨어 컨테이너는 이미 사용하지 않는 곳을 찾기 힘들 정도로 업계에서 널리 사용되고 있습니다.아직 실무에서는 사용하지 못했던차에 sakd.uk엔 본격적으로 도입하기로 했습니다.  사용해야 할 이유는 많습니다. 각각의 소프트웨어가 컨테이너에 즉시 실행 가능한 형태로 담겨있기 때문에 배포 과정이 간편화 됩니다.배포 과정이 간단하기 때문에 필요할 때 자동으로 Scale out 되도록 구성할 수도 있죠. 또 소프트웨어가 각자 컨테이너 안에 격리되어 있기 때문에 한 서버에서 여러 소프트웨어를 구동하더라도 간섭을 방지할 수 있습니다.만약 한 소프트웨어는 Pyt.. 공감수 0 댓글수 1 2025. 3. 18.
  • [sakd.uk 이슈노트] 세션과 JWT의 선택 TL;DRRESTful의 특징 중 하나는 Stateless이다.세션은 인증 정보를 서버가 보관하기 때문에 Stateless를 위반한다.sakd.uk은 JWT 방식을 채택하였다.   세션 vs JWT2014년 말, sakd.uk을 싱글 페이지로 띄웠습니다.그리고 본격적으로 개발을 시작하는 첫 단계로 회원제를 도입하기로 했습니다. 그리고 바로 사용자 인증을 위해 어떤 방식을 써야할지부터 고민이 시작되었습니다. 인증과 인가의 차이인증(Authentication)과 인가(Authorization)는 서로 다른 의미이다.인증은 사용자의 신원을 검증하는 행위이고, 인가은 접근 권한을 확인하는 행위이다.즉, 로그인을 하지 않고 비밀글을 열어보고자 했다면 인증 단계에서 거부가 발생한 것이고,로그인은 했으나 다른 사람의.. 공감수 0 댓글수 0 2025. 3. 4.
  • Jetronome Server Jetronome Server Jetronome Server는 운용 중인 Application의 상태를 한 곳에서 확인할 수 있는 가장 간단한 방법입니다. License: MIT License Features- 주기적 실행 여부 확인 - IP를 기준으로 한 App 목록 그룹화 - 신호 누락 시 알림 - 테스트 API 접속 실패 시 알림 Install - 서버로 사용할 Node.js 프로젝트에서 다음 명령을 실행합니다. npm i --save jetronome-server Usage 초기화 require('jetronome-server')({ alertFn: (name, msg) => { // 알림 발생 시 실행될 함수. console.error(name); console.error(msg); }, por.. 공감수 0 댓글수 0 2018. 12. 26.
  • Jetronome Client Jetronome Client Jetronome Client는 Application의 상태를 모니터링 할 수 있는 가장 간단한 방법입니다. License: MIT License Features- 주기적 실행 여부 확인 - 실행 중인 PC의 자원 확인 Install- 점검할 Node.js 프로젝트에서 다음 명령을 실행합니다. npm i --save jetronome-client Usage초기화와 함께 신호 발생 시작require('./jetronome-client').init({ name: 'Dummy App', // Application Name (required) description: 'This is a test application.', // Description (required) server: .. 공감수 0 댓글수 0 2018. 12. 26.
  • 청약조회긱 청약조회긱 서울에서 예정 중인 혹은 진행 중인 주택 청약을 빠르게 조회해주는 챗봇입니다.Telegram Bot API를 이용하여 간단하게 구현되었습니다. :: 사용 언어- node.js :: 주요 라이브러리- cheerio: 웹페이지 분석- cron: 스케줄러- telegraf: Telegram Bot API 사용 지원 :: 주요 기능- 청약 조회 + 예정 중인 혹은 진행 중인 주택 청약을 조회하여 출력합니다.- 청약 정보 구독 + 구독을 신청한 경우 예정된 시각에 자동으로 새 정보를 발송합니다. :: 사용해보기- 이 링크를 누르면 Telegram을 통해 사용해 볼 수 있습니다. :: 스크린샷 공감수 6 댓글수 0 2018. 4. 12.
  • RandomGenerator RandomGenerator 경품 추첨이나 각종 내기에 활용할 수 있습니다.추첨 대상을 입력하고, 추첨 인원을 선택한 뒤 추첨하기 버튼을 누르면 당첨자가 표시되는 매우 단순한 프로그램입니다. :: 사용 언어- HTML5- CSS3- jQuery- PHP5 :: 주요 기능- 추첨 대상 입력, 삭제 + 추첨 대상을 입력하고, 중간에 삭제할 수 있습니다.- 마지막 추첨 대상과 추첨 인원 유지 + 브라우저의 LocalStorage를 이용해서 추첨 대상과 추첨 인원이 유지됩니다. + 다시 접속했을 때 이전 상태를 불러옵니다.- 제목 변경 + 하단의 설정 막대를 이용해서 이벤트 제목을 변경할 수 있습니다.- 스킨 변경 + 하단의 설정 막대를 이용해서 배경색과 전경색을 변경할 수 있습니다.- 로고 삽입 + 하단의 설.. 공감수 1 댓글수 0 2016. 5. 25.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.