본문 바로가기
728x90
반응형

Programming137

Rust 바이너리 작게 만들기 Cargo.toml 에 다음을 추가하고,...[profile.release]strip = true # Automatically strip symbols from the bianryopt-level = "s" # Optimize for sizelto = true # Enable link time optimizationcodegen-units = 1 # Maximize size reduction optimizationsrelease 모드로 컴파일 한다.$ cargo build --release 2025. 1. 3.
Rust: Auto-Reloading Development Server (개발서버 자동 리로딩) cargo-watch 를 설치한다.$ cargo install cargo-watch원하는 프로젝트 폴더로 이동해서 아래와 같이 실행하면 라이브 리로딩 서버가 실행된다.$ cargo-watch -x run 2025. 1. 3.
Refresh Token 재사용 방지(Reuse Detection) Refresh Token 재사용 방지(Reuse Detection)는 Refresh Token이 도난당해 악의적인 사용자가 이를 재사용하려는 경우를 감지하고 차단하는 기술입니다. 이를 구현하려면 아래의 메커니즘을 사용할 수 있습니다.1. Refresh Token 저장소 사용Refresh Token의 상태를 서버에서 관리하여 사용 기록을 검증하는 방식입니다.구현 흐름:Refresh Token 저장 및 관리:Refresh Token 발급 시, 이를 서버의 데이터베이스(DB) 또는 캐시(Redis 등)에 저장합니다.저장 시 각 토큰에 고유한 식별자(UUID)와 사용자 정보, 만료 시간, 생성 시간을 기록합니다.토큰 사용 검증:클라이언트가 Refresh Token을 전송할 때마다, 서버는 DB 또는 캐시에서 해.. 2024. 12. 26.
JWT에서 Refresh Token은 어떻게 넘겨주나? JWT에서 Refresh Token을 전달하는 방식은 구현 목적, 보안 요구 사항, 클라이언트-서버 간 통신 방식에 따라 다양합니다. 일반적으로 두 가지 주요 방식이 사용됩니다:1. HTTP-Only Cookie로 전달이 방법은 가장 안전한 방법 중 하나로, Refresh Token을 HTTP-Only 쿠키에 저장하고, 클라이언트가 자동으로 서버로 전송하도록 설정합니다.장점:XSS(Cross-Site Scripting) 공격에 안전합니다.브라우저가 자동으로 쿠키를 관리하므로 클라이언트 코드에서 Refresh Token을 다룰 필요가 없습니다.구현 예시:(1) 서버에서 쿠키 설정:res.cookie('refreshToken', token, { httpOnly: true, // JavaScript로 접.. 2024. 12. 26.
HTTPS 통신에서 데이터가 탈취될 수 있을까? 실제 사례와 대응 방안 "HTTPS는 안전하니까 걱정할 필요 없다"는 이야기를 많이 들어보셨을 겁니다. 하지만 현실은 조금 다릅니다. HTTPS는 데이터를 암호화해 전송 중 탈취를 방지하는 중요한 기술이지만, 약점이 없는 건 아닙니다. 이번 글에서는 HTTPS 통신에서 데이터가 실제로 탈취된 사례와 이를 예방하기 위한 방법을 살펴보겠습니다.HTTPS는 왜 안전하다고 말할까?HTTPS(HTTP Secure)는 HTTP 프로토콜에 TLS(Transport Layer Security)를 결합해 보안을 강화한 통신 방식입니다. 이를 통해 데이터를 암호화하고, 서버의 신원을 검증하며, 데이터가 변조되지 않았음을 보장합니다. 이러한 강력한 보호 덕분에 HTTPS는 현재 가장 신뢰받는 웹 통신 방식으로 자리 잡았습니다.그렇다면, HTTPS.. 2024. 12. 23.
JWT 에서 토큰을 전달할때 Header의 Authorizaion 을 사용해야만 하는가? 아닙니다. JWT 토큰을 전달할 때 꼭 HTTP Header의 Authorization 헤더를 사용해야 하는 것은 아닙니다. Authorization 헤더는 가장 일반적이고 권장되는 방법 중 하나일 뿐입니다. 다른 방법도 상황에 따라 적절히 사용할 수 있습니다. 아래에서 각 방법과 장단점을 설명합니다.1. Authorization 헤더 사용 (권장)JWT를 전달할 때, 아래와 같이 Authorization 헤더에 Bearer 토큰으로 포함하는 방법이 일반적입니다.Authorization: Bearer 장점표준화: 대부분의 인증 라이브러리와 프레임워크에서 기본적으로 지원.보안: 토큰이 헤더에 포함되므로 민감한 데이터와 혼합되지 않음.캐싱 방지: HTTP 캐시 메커니즘에 의해 민감한 데이터가 캐시되는 문제를.. 2024. 12. 23.
728x90
반응형