ForHosting KIT · أدوات المطورين

توقيع HMAC لطلبات webhook

أداة تولّد توقيع HMAC — رمز مصادقة الرسائل المرتبط بمفتاح سرّي — للتحقق أن رسالة أو طلب webhook وصل من مصدره الحقيقي دون تعديل في الطريق. يقارن النظام المستقبل التوقيع المرسَل مع توقيع يحسبه بنفس المفتاح، فإن تطابقا وثق بالرسالة.

● مستقرةمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدالتطبيق قريبًاTelegram قريبًا

تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم

لماذا لا يكفي رابط webhook سري وحده

من يعرف رابط webhook فقط يستطيع إرسال طلبات مزيّفة تنتحل صفة النظام الأصلي، فيقبلها خادمك دون تمييز. توقيع HMAC يضيف طبقة تحقق: كل طلب حقيقي يحمل توقيعًا محسوبًا من محتوى الرسالة نفسها بمفتاح سرّي يعرفه الطرفان فقط، فلا يستطيع مرسل زائف تزوير التوقيع دون معرفة المفتاح.

كيف يُحسَب التوقيع ويُقارَن

يأخذ التوقيع محتوى الرسالة والمفتاح السرّي، ويمرّرهما عبر دالة تجزئة مثل SHA-256 لإنتاج سلسلة محارف فريدة. عند استقبال الطلب، يعيد نظامك حساب التوقيع بنفس الطريقة ويقارنه حرفًا بحرف مع التوقيع الوارد في ترويسة الطلب؛ أي اختلاف — حتى محرف واحد — يعني رفض الطلب فورًا.

توليد وتحقق من داخل المتصفح

تسمح الأداة بلصق محتوى الرسالة والمفتاح السرّي لحساب التوقيع مباشرة، مفيد لمطور يختبر تكاملًا يبنيه بنفسه قبل ربطه بنظام إنتاجي فعلي. المعالجة بالكامل تجري محليًا؛ لا يُرسَل المفتاح السرّي إلى أي خادم عند استخدام هذا الوضع.

التحقق الآلي عبر الـAPI

لنظام يستقبل عشرات طلبات webhook يوميًا من مزودي دفع أو خدمات خارجية، يتيح الـAPI التحقق من كل طلب وارد تلقائيًا بسعر $0.002 لكل عملية، فيرفض النظام أي طلب يحمل توقيعًا غير صحيح قبل أن يصل إلى منطق التطبيق الحساس.

التحقق من إشعارات مزوّد دفع

يستقبل نظام شركة الخليج الرقمية إشعارات دفع من مزوّد خارجي عبر webhook، ويتحقق من توقيع HMAC المرفق مع كل إشعار قبل تحديث حالة الطلب في قاعدة البيانات.

اختبار تكامل قبل الإطلاق

يبني مطور مستقل تكاملًا جديدًا بين نظامين، ويستخدم الأداة يدويًا لحساب توقيعات تجريبية والتأكد أن منطق التحقق في الطرف المستقبل يعمل كما هو متوقع قبل ربطه فعليًا.

حماية نظام حجوزات من طلبات مزيّفة

يضيف فريق تقني في مؤسسة النخيل للمقاولات تحققًا من توقيع HMAC على نقطة استقبال حجوزات خارجية، بعد رصد محاولات إرسال طلبات لا تحمل توقيعًا صحيحًا.

ما الفرق بين HMAC والتشفير العادي؟

HMAC لا يخفي محتوى الرسالة، بل يثبت أنها لم تُعدَّل وأنها صادرة عن طرف يعرف المفتاح السرّي؛ التشفير هدفه إخفاء المحتوى نفسه.

أين أحتفظ بالمفتاح السرّي بأمان؟

في متغيرات بيئة النظام، لا في الكود المصدري مباشرة؛ الأداة لا تخزّن أي مفتاح تُدخله.

كم تكلفة التحقق الآلي من طلبات webhook؟

$0.002 لكل عملية تحقق عبر الـAPI؛ التوليد اليدوي من المتصفح لاختبار تكامل يبقى مجانيًا.

هل خوارزمية SHA-256 وحدها متاحة؟

هي الأكثر استخدامًا وتدعمها الأداة افتراضيًا، مع خيارات أخرى شائعة حسب ما يطلبه النظام الذي تتكامل معه.

هل يُرسَل المفتاح السرّي إلى خادمكم؟

عند الاستخدام من المتصفح مباشرة، لا؛ الحساب يجري محليًا. عند استخدام الـAPI يُرسَل المفتاح ضمن الطلب المشفّر ولا يُحفَظ بعده.

هل تعمل الأداة من الجوال؟

نعم، صفحة ويب عادية تعمل من متصفح الجوال بنفس الطريقة على الحاسوب.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev/hmac

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev/hmac \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":["valor-1","valor-2"]}'
{
  "items": [
    "valor-1",
    "valor-2"
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.hmac",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←