رفع مشکل The page has expired due to inactivity در لاراول
اگر سایت خود را با لاراول طراحی کرده باشید ممکن است هنگام مشاهده برخی صفحات با پیام «The page has expired due to inactivity» مواجه شوید.
این پیام به دلیل عدم وجود فیلد CSRF در صفحات POST یا سپری شدن مدت مجاز فیلد CSRF نمایش داده میشود.
اگر صفحه توسط فرمهای موجود در سایت خودتان فراخوانی میشود، لازم است تا در هنگام ایجاد فرم فیلد CSRF را به صورت زیر در داخل آن قرار دهید:
{{ csrf_field()}}
در صورتی که صفحه شما از بیرون سایت به صورت POST فراخوانی میشود. برای مثال هنگامی که از درگاههای بانکی استفاده میکنید و بانک پس از تکمیل فرآیند پرداخت کاربر را به سایتتان هدایت میکند، لازم است کنترل CSRF را روی این مسیر حذف نمایید.
چنانچه مسیر پرداخت شما نشانی شبیه آدرس زیر دارد:
http://example.com/pay/20/callback
برای استثنا شدن این مسیر، فایل «app/Http/Middleware/VerifyCsrfToken.php» را باز کنید و متغیر «except» را به شکل زیر ویرایش نمایید:
protected $except = [
'pay/*'
];
- لینک منبع
تاریخ: یکشنبه , 31 تیر 1397 (00:02)
- گزارش تخلف مطلب