راکت
18 پاسخ

ارور csrf هنگام لاگین

سلام
بعد از لاگین با این ارور مواجه میشم
The page has expired due to inactivity.

Please refresh and try again.
تا وقتی کش و کوکی مرورگر را پاک نکنم هم برطرف نمیشه.
مشکل از چیه و چطوری میشه حلش کرد؟


ثبت پرسش جدید
profnami
profnami
تخصص :برنامه نویس
@nader.minaie6 سال پیشمطرح شد
0

آیا در فرمهاتون از CSRF استفاده کردین؟
یک همچین کدی رو باید درون فرمهاتون قرار داده باشین :

<input type="hidden" name="_token" value="{{ csrf_token() }}">

مهدی سمیعیان
مهدی سمیعیان
تخصص :برنامه نویس وب/اندروید
@mahdidev6 سال پیشمطرح شد
0

@nader.minaie
بله
داخل ویو و فرم از csrf استفاده کردم

 {{ csrf_field() }}

profnami
profnami
تخصص :برنامه نویس
@nader.minaie6 سال پیشمطرح شد
0

@mahdidev
از چه ورژنی از لاراول استفاده میکنید؟


مهدی سمیعیان
مهدی سمیعیان
تخصص :برنامه نویس وب/اندروید
@mahdidev6 سال پیشمطرح شد
profnami
profnami
تخصص :برنامه نویس
@nader.minaie6 سال پیشمطرح شد
0

البته فکر میکنم اگر از نسخه های بالاتر استفاده کنید این مشکل رو نخواهید داشت. اما این رو هم امتحان کنید. در این مسیر :

app/Http/Middleware/VerifyCsrfToken.php

این قطعه کد رو ویرایش کنید :

protected $except = [
    'your/route'
];

هر چند از لحاظ امنیتی زیاد درست نیست ولی میتونید Route مورد نظرتون رو استثنا قرار بدید.


مهدی سمیعیان
مهدی سمیعیان
تخصص :برنامه نویس وب/اندروید
@mahdidev6 سال پیشمطرح شد
0

@nader.minaie
این راه حل درستی نیست


profnami
profnami
تخصص :برنامه نویس
@nader.minaie6 سال پیشمطرح شد
0

یک راه حل دیگه هم به نظرم میرسه و اونم اینه که lifetime رو برای session در فایل config/session.php تغییر بدید.


مهدی سمیعیان
مهدی سمیعیان
تخصص :برنامه نویس وب/اندروید
@mahdidev6 سال پیشمطرح شد
0

@nader.minaie
فکر کنم یکی از راه حل هاش اجرا کردن دستورات زیر باشه
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
ولی نمیدونم چکار میشه کرد که اصلا این مشکل پیش نیاد.


profnami
profnami
تخصص :برنامه نویس
@nader.minaie6 سال پیشمطرح شد
0

من احساس میکنم با Upgrade کردن میتونید مشکلتون رو حل کنید. واقعا من هم دلیل اصلی رو نمیدونم.


مهدی سمیعیان
مهدی سمیعیان
تخصص :برنامه نویس وب/اندروید
@mahdidev6 سال پیشمطرح شد
0

@nader.minaie
تنها در صورتی میشه گفت با upgrade مشکل حل میشه که این مساله به عنوان باگ در نسخه های قبلی معرفی شده باشه


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza666 سال پیشمطرح شد
0

@mahdidev
خب چیزی که شما میفرمایید باید درست کار کنه مگر مربوط به کش شدن یا لایف تایم سشن در غیر اینصورت اگر برای شما درست کار نمیکنه یک نسخه بالاتر لاراول رو امتحان کنید ببینید مشکل از serve شدن پروژه اس یا لاراول.


مهدی سمیعیان
مهدی سمیعیان
تخصص :برنامه نویس وب/اندروید
@mahdidev6 سال پیشمطرح شد
0

@juza66
معمولا درست کار می کنه. ولی گاهی اوقات به مشکل می خوره. با رفرش هم حل نمیشه. باید کامل کش و کوکی مرورگر پاک بشه.
حالا این مشکل اگر برای کاربران پیش بیاد کار خیلی سخت میشه.
لوکال به این مشکل بر نخوردم. نمیدونم می تونه از هاست هم باشه یا نه؟!


علیرضا تحریری
علیرضا تحریری
تخصص :لاراول، لایوایر و Tailwind css
@alirezatahriri6 سال پیشمطرح شد
0

سلام از دستور @csrf  استفاده کردید شاید اینطوری درست شد.


مهدی سمیعیان
مهدی سمیعیان
تخصص :برنامه نویس وب/اندروید
@mahdidev6 سال پیشمطرح شد
0

@alirezatahriri
سلام. نه. داخل ویو با کد زیر توکن رو فراخوانی می کنم

 {{ csrf_field() }}

s
s
@sevda2 سال پیشمطرح شد
0

سلام من از لاراول ۱۰ استفاده میکنم اما این مشکلو دارم


مهدی سمیعیان
مهدی سمیعیان
تخصص :برنامه نویس وب/اندروید
@mahdidev2 سال پیشمطرح شد
0

@sevda
داخل blade و توی فرم اینو اضافه کن
@csrf


مهدی نظری
مهدی نظری
تخصص :توسعه دهنده Front End
@mahdi.nazari2 سال پیشمطرح شد
0

سلام دوست من 🖐
امیدوارم حالت خوب و عالی باشی✨

مشکلی که شما در Laravel با CSRF (Cross-Site Request Forgery) و انقضای جلسه (Session Timeout) روبرو میشی، ممکنه به علت تنظیمات مختلف سرور و تنظیمات Laravel باشه. این مشکلات میتونه به چندین دلیل اتفاق بیفته

تنظیمات CSRF Middleware:
چک کن که تنظیمات CSRF Middleware در فایل app/Http/Middleware/VerifyCsrfToken.php به درستی تنظیم شده باشه. این فایل باید به این صورت باشد:

protected $except = [
    // ...
];

اگر در اینجا مسیری که مشکل دارد را به except اضافه کرده‌اید، CSRF بر روی آن مسیر اعمال نمی‌شه.

تنظیمات (Session Settings):
اگر مشکل انقضای جلسه هست ، ممکنه تنظیمات جلسه در فایل config/session.php نیاز به تغییر داشته باشن. شما میتونی مقدار lifetime را افزایش بدی تا مدت زمان انقضای جلسه افزایش پیدا کنه :

'lifetime' => 120, // دقیقه

تنظیمات کش و سیستم فایل (Cache and Filesystem):
اگر از سیستم کش و سیستم فایل برای ذخیره کش و فایل‌ها استفاده می‌کنی، چک کنید که تنظیمات آنها در config/cache.php و config/filesystems.php به درستی تنظیم شده باشن. اگر تغییری ایجاد کردی ، ممکنه به مشکل اینجا برخورده باشی.

اجرای دستورات Clear:
دستورات php artisan cache:clear, php artisan config:clear, php artisan route:clear, و php artisan view:clear را اجرا کنید تا کش‌ها میتونه تا حدودی راه حل باشه اما شاید بهتون کمک نکنه

امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹


مهدی سلطانی
مهدی سلطانی
تخصص :برنامه نویس سایت
@mahdysoltani1234562 سال پیشمطرح شد
0

من اینشکلی می نویسم و ارور نمیده
@csrf


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام