شرح صفوف ومحتوى الفقرة
ترسل بوابات الدفع والخدمات الخارجية إشعارات 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/*',
]);
})