انتقل إلى محتوى الدرس

Excluding Webhook Routes from CSRF استثناء مسارات Webhooks من الفحص

تأمين نماذج HTML ضد هجمات تزوير الطلبات عبر توجيه @csrf ومحاكاة طرق التحديث والحذف عبر توجيه @method وفق أحدث معايير إطار العمل Laravel 12 مع أمثلة وتطبيقات عملية متدرجة.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

ترسل بوابات الدفع والخدمات الخارجية إشعارات Webhooks مباشرة من خوادمها بطريقة POST، ولذلك لا تمتلك جلسة متصفح أو رمز CSRF. في Laravel 11 و12، يمكنك استثناء مسارات Webhooks المحددة فقط عبر دالة validateCsrfTokens داخل ملف bootstrap/app.php.

  • الإعداد في ملف التهيئة (validateCsrfTokens): تُحدد المسارات المستثناة داخل دالة withMiddleware في ملف bootstrap/app.php.
  • تحديد المسارات بدقة (Narrow Wildcards): قصر الاستثناء على مسارات الإشعارات الخارجية فقط مثل webhooks/*.
  • التحقق بالتوقيع الرقمي (HMAC Signature): اعتمد فحص التوقيع المشفر الخاص بمزود الخدمة لتأمين مسارات Webhooks.
PHP
<?php
// In bootstrap/app.php:
->withMiddleware(function (Middleware $middleware) {
    $middleware->validateCsrfTokens(except: [
        'webhooks/stripe',
        'webhooks/tap/*',
    ]);
})