تكامل إشعارات الويب
تحقق من صحة كل نداء راجع باستخدام HMAC SHA-256، وارفض الطوابع الزمنية القديمة، وصمّم مستهلكات آمنة للتكرار.
الرؤوس
| رأس | وصف |
|---|---|
توقيع X-Webhook | ملخص HMAC SHA-256 (ست عشري) |
X-Webhook-الطابع الزمني | الطابع الزمني لنظام Unix المستخدم في السلسلة الأساسية للتوقيع |
معرف طلب X | معرف ارتباط الطلب الفريد |
مثال للتحقق من التوقيع (PHP)
$payload = file_get_contents('php://input');
$timestamp = $_SERVER['HTTP_X_WEBHOOK_TIMESTAMP'] ?? '';
$provided = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] ?? '';
$expected = hash_hmac('sha256', $timestamp.'.'.$payload, $secret);
if (! hash_equals($expected, $provided)) {
http_response_code(401);
exit('invalid signature');
}
قواعد التسليم
- قم بالرد باستخدام HTTP 2xx بسرعة بعد التحقق من صحة التوقيع والطابع الزمني.
- قم بمعالجة الحدث بشكل غير متزامن في عامل التطبيق الخاص بك.
- احفظ معرّفات الأحداث للحماية من إعادة محاولات النداءات الراجعة المكررة.