2026.04.02Y·13CSP(Content Security Policy): XSS를 원천 차단하는 헤더
XSS 공격이 성공해도 실행되지 않게 막는 마지막 방어선이 CSP다. 디렉티브 문법부터 nonce 방식, Next.js 설정, 점진적 도입 전략까지 정리했다.
CSPContent Security PolicyXSS
→2026.04.01Y·12OWASP Top 10 (2025): 웹 보안 위협 총정리
인젝션, 인증 취약점, XSS부터 최신 위협까지 — OWASP Top 10을 실제 코드 예시와 함께 하나씩 뜯어보고, 각 취약점을 어떻게 막는지 정리했다.
OWASPWeb SecurityXSS
→2026.02.15F·185API 보안 실제: Rate Limiting, API Key 관리, IP 제한
공개 API를 운영하다 보면 예상치 못한 대량 요청에 시달릴 수 있다. Rate Limiting과 API Key 관리로 API를 보호하는 방법을 정리했다.
API SecurityRate LimitingAPI Key
→2026.02.14F·184RBAC vs ABAC: 세밀한 권한 관리 설계
admin/user 두 역할로 시작했는데, 요구사항이 복잡해지면서 RBAC만으로 부족해졌다. ABAC까지 고려한 권한 설계를 정리했다.
RBACABACAuthorization
→2026.02.13F·183SSO(Single Sign-On): 한 번 로그인으로 여러 서비스
서비스가 3개로 늘어나면서 각각 로그인을 구현하는 게 지옥이었다. SSO로 한 번의 인증으로 모든 서비스에 접근하게 만든 이야기.
SSOAuthenticationSAML
→2026.02.12F·182Passkey와 WebAuthn: 비밀번호 없는 인증의 시대
비밀번호 찾기가 CS의 절반을 차지했는데, Passkey를 도입하니 비밀번호 자체가 필요 없어졌다. 근데 구현이 생각보다 복잡했다.
PasskeyWebAuthnAuthentication
→2025.12.07G·29내 ID가 왜 달라요? (auth.uid() vs user_id)
로그인한 유저 ID를 가져오려고 했는데 `auth.uid()`가 에러를 뱉거나 엉뚱한 값을 줍니다. RLS(Row Level Security)에서 `auth.uid()`를 올바르게 사용하는 법과 `security definer` 함수의 비밀.
SupabaseAuthPostgres
→2025.12.05G·27Supabase 데이터가 안 보여요 (RLS의 배신)
DB에 데이터가 분명히 있는데, 프론트엔드에서는 빈 배열(`[]`)만 옵니다. Supabase 초보자가 가장 많이 겪는 RLS(Row Level Security) 정책 위반 문제와 해결법을 정리해봤습니다.
SupabaseRLSDatabase
→2025.12.01G·25내 코드를 훔쳐보지 마세요 (난독화와 Release 에러)
Debug에선 잘 되는데 Release에서만 죽나요? 범인은 '난독화'입니다. R8의 원리, Mapping 파일 분석, 그리고 Reflection을 사용하는 라이브러리를 지켜내는 방법(@Keep)을 정리해봤습니다.
FlutterSecurityObfuscation
→2025.11.25G·19로그아웃 좀 그만 시켜라 (JWT 토큰 자동 갱신의 정석)
앱 켤 때마다 로그인하라고요? 사용자는 떠납니다. Access Token 만료 시 Refresh Token으로 몰래 갱신하고, 실패했던 요청을 재시도하는 완벽한 인터셉터(Interceptor) 패턴을 구현해 봅니다.
FlutterAuthJWT
→2025.10.28E·18로그인시켰더니 홈으로 가버리네? (매출 30% 까먹은 썰)
사용자가 상품 결제를 하려다 로그인 창이 떠서 로그인을 했는데, 뜬금없이 메인 페이지로 이동된다면? 당황한 사용자는 그대로 이탈합니다. 로그인 후 원래 페이지로 되돌려보내는 리다이렉트 구현 방법과, 그 과정에서 발생할 수 있는 보안 취약점(Open Redirect)을 막는 방법을 공유합니다.
UXAuthNext.js
→2025.08.25W·01로그인 풀렸다고 욕먹고 배운 JWT 토큰 관리
서비스 런칭 일주일 만에 '작업하던 거 다 날아갔어요!'라는 항의 메일을 받았습니다. 원인은 JWT 토큰 만료. 보안과 편의성 사이에서 줄타기하며 배운 Refresh Token 전략, Axios Interceptor 구현, 그리고 보안 사고를 막기 위한 저장소 선택 기준을 공유합니다.
JWTAuthenticationSecurity
→2025.08.24I·01내 집을 해킹당하지 않으려면: 스마트 홈 구축과 보안
편리함을 위해 시작한 스마트 홈 구축, 하지만 보안을 놓치면 집이 털릴 수도 있습니다. 와이파이 전구부터 스마트 도어락까지, IoT 기기들을 안전하게 연결하고 '로컬 제어' 시스템을 구축한 저의 삽질 기록을 공유합니다.
IoTSmart HomeSecurity
→2025.08.23Y·11SSRF: 서버 측 요청 위조
SSRF 공격의 원리와 방어 방법을 경험을 통해 이해한 과정
ssrfsecurityweb-security
→2025.08.22Y·10사이트가 1초 만에 털렸다: HTTPS 강제와 HSTS
HTTP로 접속하는 사용자를 단순히 HTTPS로 리다이렉트하는 것만으로는 부족합니다. 중간자 공격(MITM)에 취약하기 때문이죠. 브라우저에게 '이 사이트는 무조건 HTTPS로만 접속해!'라고 각인시키는 HSTS(HTTP Strict Transport Security)의 원리와 적용 방법을 정리합니다.
SecurityHTTPSHSTS
→2025.08.22Y·09내 사이트가 피싱 사이트의 제물이 되었다 (보안 헤더 완벽 가이드)
어느 날 내 서비스가 낯선 도메인의 iframe 안에서 돌고 있는 걸 발견했습니다. Clickjacking 공격을 막기 위해 HSTS, X-Frame-Options, CSP, Permissions-Policy 등 필수 보안 헤더 6가지를 상세히 설명하고, Nginx와 Next.js에 적용하는 방법을 공유합니다.
SecurityWebCSP
→2025.08.21F·166방화벽(Firewall): 서버를 지키는 까칠한 문지기
내 서버가 해킹당하지 않는 이유. 포트와 IP를 검사하는 '패킷 필터링'부터 AWS Security Group까지, 방화벽의 진화 과정.
CSNetworkSecurity
→2025.08.21Y·08해커가 우리 사이트를 공격했다: WAF(웹 방화벽)로 방어한 썰
서비스 런칭 3일 차, 갑자기 DB CPU가 100%를 찍었습니다. 로그를 보니 SQL Injection 공격이 들어오고 있었죠. 급하게 AWS WAF를 도입하여 공격을 차단하고, 더 나아가 Rate Limiting으로 DDoS까지 방어한 경험담입니다. Positive/Negative 보안 모델과 OWASP CRS의 개념도 함께 다룹니다.
SecurityWAFAWS
→2025.08.20B·03내 서버를 내가 DDOS 칠 뻔했다 (Rate Limiting 완벽 가이드)
Rate Limiter 없이 API를 공개하면 사용자 자신이 DDOS 공격자가 될 수 있다. Token Bucket, Leaky Bucket, Sliding Window 등 핵심 알고리즘을 비교하고, Redis와 Lua Script를 사용해 분산 환경에서도 완벽하게 동작하는 Rate Limiter를 구현하는 방법을 정리해본다.
System DesignSecurityNginx
→2025.08.19Y·07내 웹사이트를 내가 해킹해봤다 (OWASP Top 10과 보안의 기본)
고등학교 시절, 친구의 웹사이트를 'admin' --' 한 줄로 뚫었던 경험과 그 충격을 공유합니다. 웹 개발자가 반드시 알아야 할 10가지 보안 취약점(OWASP Top 10)과 이를 막기 위해 '해커처럼 생각하는 법'을 4가지 핵심 위협(Injection, IDOR, Crypto, Misconfig)을 중심으로 설명합니다.
SecurityOWASPHacking
→2025.08.12I·11환경 변수와 12-Factor App: 시크릿 관리의 정석
API 키를 GitHub에 올려서 털려본 적 있나요? 환경 변수의 개념부터 보안 사고를 막기 위한 시크릿 관리 전략, 그리고 Docker/K8s 환경에서의 주입 패턴까지. 12-Factor App 방법론에 입각한 설정 관리의 모든 것을 정리합니다.
DevOpsSecurityConfiguration
→2025.07.15Y·06내 DB가 점 하나(') 때문에 털렸다 (SQL Injection)
SQL Injection으로 관리자 권한을 탈취당하고 데이터를 날린 경험담. 왜 Prepared Statement가 유일한 해결책인지, ORM은 정말 안전한지 파헤쳐봤습니다.
SecurityDatabaseBackend
→2025.07.14Y·05내 쿠키를 훔쳐간 범인은 게시판 댓글이었다 (XSS 방어 가이드)
게시판에 달린 댓글 하나 때문에 관리자 계정이 탈취당했습니다. XSS(Cross-Site Scripting)의 3가지 유형(Stored, Reflected, DOM)과 React/Next.js 환경에서의 구체적인 방어법(HTML 이스케이프, CSP, 쿠키 보안)을 예제와 함께 깊이 있게 다룹니다.
SecurityXSSWeb Development
→2025.07.13F·160CSRF: 클릭 한 번에 계좌가 텅텅
나는 그냥 재미있어 보이는 링크를 눌렀을 뿐인데, 내 이름으로 송금이 되었습니다. 로그인된 상태를 악용하는 교묘한 공격, CSRF를 이해하기까지의 여정.
CSSecurityWeb
→2025.07.12Y·04구글 로그인 구현하다가 3일 밤샌 썰 (OAuth 2.0의 원리와 보안)
회원가입 폼을 없애고 '구글로 로그인' 버튼을 달면 쉬울 줄 알았습니다. 하지만 Redirect URI 에러, State 파라미터, HTTPS 문제 등 OAuth 2.0의 복잡함에 압도당했죠. OAuth의 4단계 '댄스'와 실제적인 해결책(NextAuth.js), 그리고 모바일 앱에서의 딥링크 처리까지 깊이 있게 다룹니다.
SecurityOAuthAuthentication
→2025.07.12B·02서버를 2대로 늘리자 로그인이 풀렸다 (Session vs Token)
사용자가 늘어나서 서버를 증설했는데, 로그인이 자꾸 풀린다는 항의가 들어왔습니다. 세션(Session) 인증의 한계와 토큰(Token, JWT) 인증으로의 전환, 그리고 Refresh Token 도입기입니다.
AuthenticationSecurityJWT
→2025.07.09Y·03인증(Authentication) vs 인가(Authorization): 보안의 두 기둥 (feat. JWT)
로그인과 권한 체크를 혼동해서 발생했던 실제 보안 사고 사례와, 이를 '공항 보안 검색'과 '호텔 카드키'에 비유하여 명쾌하게 정리했습니다. JWT 구조부터 OAuth 2.0, 그리고 MSA 환경에서의 인증 전략까지.
SecurityAuthenticationAuthorization
→2025.06.12S·07MSA의 문지기, API Gateway: 구현부터 모니터링까지
마이크로서비스 아키텍처(MSA)에서 API Gateway가 필수적인 이유를 '호텔 프론트 데스크' 비유로 설명합니다. Kong, Nginx, AWS API Gateway 비교 및 Rate Limiting, GraphQL 통합, Observability까지 심층 분석.
MSAAPI GatewayBackend
→2025.06.02Y·02DDoS 공격의 원리와 방어 전략: 당신의 서버는 안전한가요?
DDoS(분산 서비스 거부) 공격은 단순히 트래픽을 많이 보내는 것 이상의 정교한 기술입니다. L4(TCP Syn Flood)부터 L7(Slowloris)까지 다양한 공격 유형을 분석하고, Rate Limiting, CDN, Anycast Network를 활용한 실질적인 방어 전략을 정리합니다.
SecurityNetworkDDoS
→2025.05.29F·120SSL/TLS 인증서: 인터넷 신분증과 암호화의 모든 것 (완전정복)
Netscape의 SSL부터 최신 TLS 1.3까지. 대칭키/비대칭키 암호화의 조화, Handshake 과정 상세 분석(1.2 vs 1.3), CA 신뢰 사슬, 그리고 HTTPS의 동작 원리를 파헤칩니다.
CSSecuritySSL
→2025.05.27F·118솔팅(Salting) & 페퍼(Pepper): 비밀번호를 요리하는 법
단순히 해시(Hash)만 하면 1초 만에 뚫립니다. 레인보우 테이블 공격을 막기 위해 소금(Salt)과 후추(Pepper)를 치는 원리.
CSSecurityHash
→2025.05.26F·116해시 함수: 갈아버린 고기는 다시 소가 될 수 없다
비밀번호를 안전하게 저장하는 유일한 방법. 단방향 암호화(One-way Encryption)와 눈사태 효과(Avalanche Effect) 이해하기.
CSSecurityHash
→2025.05.25F·115비대칭키 암호화: 자물쇠와 열쇠의 혁명
어떻게 지구 반대편에 있는 서버와 안전하게 비밀을 주고받을까? HTTPS의 기반이 되는 공개키/개인키의 마법.
CSSecurityEncryption
→2025.05.25F·114공개키 vs 개인키: 비대칭 암호화
자물쇠(Public)는 뿌리고, 열쇠(Private)는 나만 갖는다. HTTPS와 블록체인의 원리.
CSSecurityCrypto
→2025.05.24F·113대칭키 암호화: 집에 열쇠 놓고 옴
가장 빠르고 단순한 암호화 방식. 하지만 열쇠를 배달하다가 털리면 끝장이다. 키 배송 문제(Key Distribution Problem)의 딜레마.
CSSecurityEncryption
→2025.05.20U·03useEffect로 관리자 페이지 막지 마세요 (Next.js Middleware 완벽 가이드)
`useEffect`로 관리자 페이지 접근을 막으려다 뚫릴 뻔했던 경험을 공유합니다. 클라이언트 사이드 보호의 위험성과 Next.js 미들웨어(Middleware)를 사용해 서버 레벨에서 안전하게 경로를 보호하는 방법, 그리고 Edge Runtime의 제약사항까지 깊이 있게 다룹니다.
Next.jsMiddlewareSecurity
→2025.05.19U·02내 이미지가 다 엑박이네? (Next.js Image 보안 에러와 최적화 원리)
멀쩡하던 이미지가 Next.js의 `<Image>` 컴포넌트를 쓰자마자 에러를 뿜어냈습니다. 단순한 설정 문제인 줄 알았지만, 알고 보니 Next.js가 서버 자원을 보호하기 위한 강력한 보안 장치였습니다. `remotePatterns` 설정 방법과 Image Optimization의 내부 동작 원리를 깊이 있게 파헤칩니다.
Next.jsImage OptimizationSecurity
→2025.05.18U·01내 API 키가 왜 undefined지? (Next.js 환경변수와 보안 사고)
로컬에서는 잘 되던 API 키가 브라우저 콘솔에서는 `undefined`로 뜨는 현상. Next.js의 보안 철학인 'Server-Client Boundary'를 이해하지 못해 3시간을 삽질하고, 실수로 비밀 키를 노출할 뻔했던 아찔한 경험을 공유합니다.
Next.jsEnvironment VariablesSecurity
→2025.05.18Y·01버퍼 오버플로우(Buffer Overflow): 컵에 물이 넘치면 생기는 일
C언어의 strcpy 하나가 어떻게 전체 시스템 권한을 탈취하게 만들까요? 스택 오버플로우 공격의 원리와 이를 막기 위한 ASLR, Canary, NX Bit 같은 방어 기법들을 파헤쳐봤습니다.
SecurityCMemory
→2025.05.15W·02브라우저 저장소 완벽 가이드: Cookie, LocalStorage, IndexedDB
프론트엔드 개발자가 알아야 할 4가지 저장소의 차이점과 보안 이슈(XSS, CSRF), 그리고 언제 무엇을 써야 하는지에 대한 명확한 기준.
WebBrowserStorage
→2025.05.14F·103HTTPS: 자물쇠가 달린 투명 인간
HTTP는 엽서라서 우체부가 내용을 훔쳐볼 수 있습니다. HTTPS는 봉투에 밀봉해서 보내는 기술입니다.
CSWebHTTPS
→2025.05.12F·101포워드 프록시 vs 리버스 프록시: 대리인의 위치
내가 숨으면 포워드(VPN), 서버가 숨으면 리버스(Nginx). 누가 대리인을 고용했는가?
CSNetworkProxy
→2025.05.12F·100프록시 서버: 나 대신 심부름 다녀와
직접 가기 껄끄러울 때 프록시가 대신 갔다 옵니다. 내 정체를 숨기려면 Forward Proxy, 서버를 보호하려면 Reverse Proxy. 같은 대리인인데 누구 편이냐가 다릅니다.
CSNetworkProxy
→2025.05.10W·01쿠키(Cookie) vs 세션(Session): 상태 관리의 양대 산맥 (대규모 업데이트)
HTTP는 기억상실증 환자입니다. 서버가 클라이언트를 기억하게 만드는 두 가지 방법론의 차이와 현대의 JWT 인증 방식 비교.
WebHTTPAuth
→2025.05.10F·99VPN: 카페 와이파이에서 내 통장을 지키는 법
넷플릭스 국가 뚫는 용도가 전부는 아닙니다. 해커들이 우글거리는 공용 네트워크에서 '나만의 안전 터널'을 뚫는 기술.
CSNetworkVPN
→2025.05.09F·98JWT: 쿠키 없는 로그인의 비밀
세션 저장 안 하고도 로그인 유지. 서버가 토큰만 검증하면 끝. Base64 인코딩된 JSON의 정체. 왜 stateless가 확장성에 좋은지.
CSSecurityJWT
→2025.04.30F·90OSI 7계층: 네트워크의 표준 지도와 계층별 해킹 방어 (완전정복)
왜 데이터를 보내는 7단계나 필요할까요? 피자 배달 비유, 허브/스위치/라우터 하드웨어, 그리고 각 계층별 대표 공격(ARP Spoofing, SYN Flood, XSS)과 방어법까지.
CSNetworkOSI
→2025.04.23F·84전자서명: 인터넷의 도장
종이 문서의 서명을 디지털화했습니다. 공개키로 검증, 개인키로 서명. 위조 불가능, 부인 방지. 블록체인과 HTTPS의 기술.
CSSecurityCryptography
→2025.04.09F·72배열(Array): 가장 빠르고, 가장 딱딱한 자료구조 (완전정복)
기차 좌석처럼 연속된 메모리를 쓰는 배열. O(1) 조회 속도의 비밀인 주소 계산 공식부터, CPU 캐시 지역성(Cache Locality), 버퍼 오버플로우 보안 이슈, 그리고 동적 배열의 내부 구현까지.
CSDataStructureArray
→2025.03.01F·41리눅스 권한 체계: chmod와 chown
chmod 777을 치면 해결된다는 선배의 조언, 사실 엄청 위험한 짓이었습니다. rwx와 숫자의 비밀.
CSOSLinux
→2025.02.24F·37유저 모드 vs 커널 모드: 이중 보호 장치
개발자가 만든 프로그램이 커널 모드에 진입하려고 하면 CPU가 막아섭니다. 왜 컴퓨터는 모드를 두 개로 나눴을까요?
CSOSSecurity
→2025.01.25N·01블록체인(Blockchain): 신뢰를 코드로 대체하는 기술
비트코인은 블록체인의 일부입니다. 이중 지불 문제(Double Spending), 작업 증명(PoW)과 지분 증명(PoS)의 차이, 스마트 컨트랙트, 그리고 Web 3.0이 가져올 미래까지. 개발자 관점에서 본 블록체인의 모든 것.
Web3BlockchainBitcoin
→