---
title: API Webhook安全签名与重放防护实践
keywords:
- Webhook
- 签名
- HMAC
- 时间戳
- 重放防护
- 幂等
- 重试
- 验证
- 审计
- 速率限制
description: 设计安全的 Webhook 接入,使用 HMAC 签名与时间戳防重放,结合幂等与重试策略、审计与速率限制,提供验证与落地方法。
date: 2025-11-26
categories:
- 文章资讯
- 技术教程
---
概述
Webhook 常用于事件通知与回调,必须防止伪造与重放。本文提供 HMAC 签名与时间戳校验、幂等与重试策略、审计与速率限制,以及验证方法。
签名与校验(已验证)
- HMAC:
signature = HMAC(secret, timestamp + body); - 时间戳:拒绝过期事件(如 5 分钟);
- 头部:
X-Signature与X-Timestamp;
幂等与重试
- 幂等键:事件
id与结果缓存; - 重试:指数退避与上限;
- 顺序:按类型与时间顺序处理。
速率与审计
- 速率限制:对来源与接口限流;
- 审计:记录签名校验结果与处理轨迹;
示例(片段)
X-Timestamp: 1732617600
X-Signature: sha256=...
验证与监控
- 指标:签名失败率与重放拦截率;
- 演练:伪造与重放事件注入验证;
常见误区
- 不校验时间戳与签名;
- 无幂等导致重复处理;
结语
以 HMAC 签名与时间戳校验为核心,结合幂等与重试、速率与审计,并以指标与演练验证,Webhook 接入可在生产中安全可靠地运行。

发表评论 取消回复