راکت

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

18 پاسخ

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

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

ثبت پرسش جدید

پاسخ‌ها

18
profnami
profnami
@nader.minaie

تخصص: برنامه نویس

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

<input type="hidden" name="_token" value="{{ csrf_token() }}">
مهدی سمیعیان
مهدی سمیعیان
@mahdidev

تخصص: برنامه نویس وب/اندروید

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

 {{ csrf_field() }}

شاید پاسخ شما همین‌جا باشد

profnami
profnami
@nader.minaie

تخصص: برنامه نویس

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

مهدی سمیعیان
مهدی سمیعیان
@mahdidev

تخصص: برنامه نویس وب/اندروید

profnami
profnami
@nader.minaie

تخصص: برنامه نویس

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

app/Http/Middleware/VerifyCsrfToken.php

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

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

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

مهدی سمیعیان
مهدی سمیعیان
@mahdidev

تخصص: برنامه نویس وب/اندروید

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

profnami
profnami
@nader.minaie

تخصص: برنامه نویس

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

مهدی سمیعیان
مهدی سمیعیان
@mahdidev

تخصص: برنامه نویس وب/اندروید

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

profnami
profnami
@nader.minaie

تخصص: برنامه نویس

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

مهدی سمیعیان
مهدی سمیعیان
@mahdidev

تخصص: برنامه نویس وب/اندروید

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

مهدی سمیعیان
مهدی سمیعیان
@mahdidev

تخصص: برنامه نویس وب/اندروید

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

علیرضا تحریری
علیرضا تحریری
@alirezatahriri

تخصص: لاراول، لایوایر و Tailwind css

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

مهدی سمیعیان
مهدی سمیعیان
@mahdidev

تخصص: برنامه نویس وب/اندروید

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

 {{ csrf_field() }}
s
s
@sevda

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

مهدی سمیعیان
مهدی سمیعیان
@mahdidev

تخصص: برنامه نویس وب/اندروید

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

مهدی نظری
مهدی نظری
@mahdi.nazari

تخصص: توسعه دهنده Front End

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

مشکلی که شما در 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 را اجرا کنید تا کش‌ها میتونه تا حدودی راه حل باشه اما شاید بهتون کمک نکنه

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

مهدی سلطانی
مهدی سلطانی
@mahdysoltani123456

تخصص: برنامه نویس سایت

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

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

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