πŸͺμ›Ήν›… νŽ˜μ΄λ‘œλ“œ μ„œλͺ… 검증 κ°€μ΄λ“œ

μ‹œν¬λ¦ΏΒ·νŽ˜μ΄λ‘œλ“œΒ·μ„œλͺ…값을 λ„£μœΌλ©΄ HMAC 을 계산해 일치 μ—¬λΆ€λ§Œ μ•Œλ € μ€λ‹ˆλ‹€

νŽ˜μ΄λ‘œλ“œλŠ” 받은 λ°”μ΄νŠΈλ₯Ό κ·ΈλŒ€λ‘œ λ„£μ–΄μ•Ό ν•©λ‹ˆλ‹€. 보기 μ’‹κ²Œ λ‹€μ‹œ λ“€μ—¬μ“΄ JSON 은 λ°”μ΄νŠΈκ°€ 달라져 μ„œλͺ…이 μ–΄κΈ‹λ‚©λ‹ˆλ‹€.

κ΄€λ ¨λœ 도ꡬ

받은 웹훅이 정말 κ·Έ μ„œλΉ„μŠ€μ—μ„œ 온 것인지 ν™•μΈν•˜κΈ°

μ›Ήν›… μ—”λ“œν¬μΈνŠΈλŠ” μ£Όμ†Œλ§Œ μ•Œλ©΄ λˆ„κ΅¬λ‚˜ μš”μ²­μ„ 보낼 수 μžˆμœΌλ‹ˆ, λ³Έλ¬Έκ³Ό ν•¨κ»˜ 온 μ„œλͺ…을 검증해야 ν•©λ‹ˆλ‹€. μ‹œν¬λ¦Ώκ³Ό 받은 νŽ˜μ΄λ‘œλ“œ, μ„œλͺ…값을 λ„£μœΌλ©΄ 같은 λ°©μ‹μœΌλ‘œ HMAC 을 계산해 일치 μ—¬λΆ€λ§Œ μ•Œλ € μ€λ‹ˆλ‹€. κ³„μ‚°ν•œ κ°’κ³Ό μž…λ ₯ν•œ κ°’, 길이 λΉ„κ΅κΉŒμ§€ ν•¨κ»˜ 보여 μ£Όλ‹ˆ μ–΄λ””κ°€ μ–΄κΈ‹λ‚¬λŠ”μ§€ μ§šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ„œλͺ…을 μ–΄λ–€ λ¬Έμžμ—΄λ‘œ λ§Œλ“€κ³  μ–΄λ–€ ν”„λ¦¬ν”½μŠ€λ₯Ό λΆ™μ΄λŠ”μ§€λŠ” μ„œλΉ„μŠ€λ§ˆλ‹€ λ‹€λ₯΄κ³  λ°”λ€ŒκΈ°λ„ ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ 이 νŽ˜μ΄μ§€λŠ” μ„œλΉ„μŠ€λ³„ ν˜•μ‹ν‘œλ₯Ό λ‹΄μ§€ μ•Šκ³ , λ³΄λ‚΄λŠ” μͺ½ λ¬Έμ„œμ—μ„œ ν™•μΈν•œ μ‹œν¬λ¦ΏΒ·νŽ˜μ΄λ‘œλ“œΒ·μΈμ½”λ”©Β·μ„œλͺ…값을 직접 λ°›μŠ΅λ‹ˆλ‹€. λΉ„κ΅λŠ” 길이λ₯Ό λ¨Όμ € 맞좘 λ’€ 전체λ₯Ό λκΉŒμ§€ λ„λŠ” μƒμˆ˜μ‹œκ°„ λ°©μ‹μž…λ‹ˆλ‹€. λ¨Όμ € λ‹€λ₯Έ κΈ€μžμ—μ„œ λ©ˆμΆ”λ©΄ κ±Έλ¦° μ‹œκ°„μœΌλ‘œ λͺ‡ κΈ€μžκΉŒμ§€ λ§žμ•˜λŠ”μ§€κ°€ μƒˆμ–΄ λ‚˜κ°‘λ‹ˆλ‹€.

이 λ„κ΅¬λŠ” μ–΄λ–€ μ„œλΉ„μŠ€μ˜ μ„œλͺ…인지 μ•Œμ•„λ‚΄μ§€ λͺ»ν•˜κ³ , νƒ€μž„μŠ€νƒ¬ν”„ 유효 κΈ°κ°„μ΄λ‚˜ μž¬μ „μ†‘ 방지도 κ²€μ‚¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έ λ‘˜μ€ λ³΄λ‚΄λŠ” μͺ½ λ¬Έμ„œλ₯Ό 보고 λ”°λ‘œ μ²˜λ¦¬ν•΄μ•Ό ν•©λ‹ˆλ‹€. 계산은 λΈŒλΌμš°μ € μ•ˆμ—μ„œλ§Œ ν•˜λ©° μ‹œν¬λ¦Ώμ„ μ „μ†‘ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 2026λ…„ 10μ›” κΈ°μ€€μž…λ‹ˆλ‹€.

자주 λ¬»λŠ” 질문

μ™œ μ„œλͺ… ν˜•μ‹μ΄ μ„œλΉ„μŠ€λ§ˆλ‹€ λ‹€λ₯Έκ°€μš”?

μ„œλͺ…을 μ–΄λ–€ λ¬Έμžμ—΄λ‘œ λ§Œλ“€κ³  μ–΄λ–€ 헀더에 μ–΄λ–€ ν”„λ¦¬ν”½μŠ€λ‘œ λ‹΄λŠ”μ§€λŠ” 각 μ„œλΉ„μŠ€κ°€ μ •ν•©λ‹ˆλ‹€. νƒ€μž„μŠ€νƒ¬ν”„λ₯Ό ν•¨κ»˜ λ¬ΆλŠ” 곳도 있고 인코딩도 κ°ˆλ¦½λ‹ˆλ‹€. κ·Έλž˜μ„œ 이 λ„κ΅¬λŠ” μ„œλΉ„μŠ€λ³„ ν˜•μ‹ν‘œλ₯Ό λ‹΄μ§€ μ•Šκ³ , λ³΄λ‚΄λŠ” μͺ½ λ¬Έμ„œμ—μ„œ ν™•μΈν•œ 값을 직접 λ„£κ²Œ ν•©λ‹ˆλ‹€.

νŽ˜μ΄λ‘œλ“œλ₯Ό κ·ΈλŒ€λ‘œ λΆ™μ˜€λŠ”λ° μ™œ μ•ˆ λ§žμ„κΉŒμš”?

λ°”μ΄νŠΈκ°€ ν•œ κΈ€μžλΌλ„ λ‹€λ₯΄λ©΄ κ²°κ³Όκ°€ μ™„μ „νžˆ λ‹¬λΌμ§‘λ‹ˆλ‹€. JSON 을 λ‹€μ‹œ λ“€μ—¬μ“°κΈ°ν–ˆκ±°λ‚˜ μ€„λ°”κΏˆμ΄ λ°”λ€Œμ—ˆκ±°λ‚˜ 끝에 곡백이 뢙은 κ²½μš°κ°€ κ°€μž₯ ν”ν•©λ‹ˆλ‹€. λ‘œκ·Έμ— 남은 원본 본문을 μ†λŒ€μ§€ μ•Šκ³  λ„£μ–΄ λ³΄μ„Έμš”.

μ„œλͺ… 비ꡐλ₯Ό κ·Έλƒ₯ λ“±ν˜Έλ‘œ ν•˜λ©΄ μ•ˆ λ˜λ‚˜μš”?

κΆŒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ•žμ—μ„œλΆ€ν„° λΉ„κ΅ν•˜λ‹€ λ‹€λ₯Έ κΈ€μžλ₯Ό λ§Œλ‚˜λ©΄ λ°”λ‘œ λ©ˆμΆ”λŠ” 방식은 κ±Έλ¦° μ‹œκ°„μ΄ λ§žμ€ κΈ€μž μˆ˜μ— 따라 달라져, κ·Έ 차이λ₯Ό μž¬λ©΄μ„œ μ„œλͺ…을 ν•œ κΈ€μžμ”© 맞좰 갈 수 μžˆμŠ΅λ‹ˆλ‹€. 길이λ₯Ό λ¨Όμ € 보고 전체λ₯Ό λκΉŒμ§€ λ„λŠ” 방식이 μ•ˆμ „ν•©λ‹ˆλ‹€.