راکت

از درگاه به وبسایت سشن پاک میشود

8 پاسخ

سلام خسته نباشید
بعداز اینک خرید وانجام میده وارد درگاه میشود وقتی برمیگرده از درگاه سشن پاک میشه و صفحه لاگین نمایش داده میشود باید چیکار کنم یکی راهنمایی کنه؟؟

alireza
alireza
@mohammad.fathi9k
ثبت پرسش جدید

پاسخ‌ها

8
alireza
alireza
@mohammad.fathi9k

اگ کسی میدونه لطفا کمک کنه ممنون میشم

woz
woz
@wozniak

تخصص: fan of open source world

سلام الان دقیقا این مشکل رو داریم ولی هر بار اتفاق نمی افته و گاهی اوقات هست.

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

woz
woz
@wozniak

تخصص: fan of open source world

دوستان راه حلی در مقاله زیر موجود هست من اجرا کردم جواب داد.

https://blog.heroku.com/chrome-changes-samesite-cookie

خلاصش اینه : یه مفهومی به اسم same-site ایجاد کرده مرورگر کروم که جدیدا باید برنامه نویسا کوکی های مربوط به اونو ست کنن تا بتونن درخواست از سایت های دیگه داشته باشن والا کوکی های قبلی پاک میشه و در واقع کروم هست که اونا رو پاک میکنه چون بهشون اجازه نمیده ( جهت جلوگیری از CSRF ).

برای لاراول این تنظیمات رو میشه داخل config/session.php تغییر داد به صورت زیر :

مثلا برای لاراول 5.7

'secure' = env('SESSIONSECURECOOKIE', true),  
'samesite' = 'none',

یه سوالی من از دوستان با تجربه بیشتر دارم اینکه آیا به نظر شما این تنظیمات best practice برای اینکار هست یا نه؟ هم از لحاظ پیاده سازی ، هم از لحاظ امنیت برای وبسایتی که مقدار same-site رو به none ست میکنه.

مرسی

Hadi Dadkhah
Hadi Dadkhah
@ihnd4s

وقتی samesite را روی none تنظیم میکنیم هنگام لاگین با گوگل کروم با خطای page expired روبرو میشیم. مجبوریم samesite را روی lax نگه داریم که در این صورت هم بعد از پرداخت موفق و ریدایرکت شدن به سایت با صفحه لاگین روبرو میشیم.
مشکل همچنان باقی است.

نگار
نگار
@Negaram

تخصص: توسعه دهنده بک اند

ما بعد از برگشت از درگاه پرداخت یوزر رو دوباره لاگین میکنیم.

 Auth::login($user);
پیام یزدانیان
پیام یزدانیان
@payam_yazdanian

این کار میتونه امنیت سایت شما را به خطر اندازد.
زیرا رکوست ها رو میشود شبیه سازی کرد.

Pouria
Pouria
@pouria.782

تخصص: developer

مشکل به احتمال خیلی زیاد به خاطر نبود csrf هستش.
در مسیر زیر آدرس کالبک رو قرار بدید مجدد بررسی کنید

// app/Http/Middleware/VerifyCsrfToken.php

protected $except = [
    // ...
    'payment/callback', 
];
الهه سلیمانی
الهه سلیمانی
@elahe.soleimani

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

این راه حل برای من جواب داد
ممنون

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

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