از نسخه 80 به بعد مرورگر محبوب گوگل کروم و به دنبال آن مرورگر فایرفاکس آپدیت هایی در زمینه حفظ اطلاعات امنیت در کوکی های خود داده اند که منجر به ایجاد یک سری از مشکلات جدید بعضی از سایت ها شده است. گزارش های بسیار متعددی از کاربران جوملایی مبنی بر لاگ اوت شدن کاربر (خروج از حساب کاربری) بعد از پرداخت درگاه بانک ملت ، مشاهده شد به طوری که خیلی ها به دلیل بروز این مشکل درگاه ملت را کنار گذاشته و درگاه های دیگری را استفاده می کنند اما در این مقاله به شما ساده ترین روشی که خودمان برای مشتریان مان استفاده کرده ایم را خواهیم گفت تا از شر این مشکل راحت شوید.

 علت اصلی مشکل چیست؟

 سیستم لاگین جوملا بر اساس ذخیره اطلاعات امنیتی لاگین در کوکی مرورگر می باشد و کوکی هایی که با مقدار دهی SameSite را انجام نداده باشند بصورت پیشفرض مقدار Lex برای انها توسط مرورگر تنظیم خواهد شد و طبق آپدیت جدید مرورگر ها در اتصال خارجی به سایت کوکی های ثبت شده با مقدار Lex منقضی خواهند شد.

 برای حفظ کوکی ها در اتصال خارجی به سایت باید کوکی ها را با پارامتر SameSite=None; Secure تنظیم کرد تا در مواردی مثل اتصال به درگاه بانک و برگشت به سایت، کوکی ها منقضی نشوند در واقع مشکل لاگ اوت شدن کاربران بعد از پرداخت درگاه بانک همین موضوع می باشد.

 راه حل این مشکل در جوملا چیست؟

 این راه حل تا الان برای تمام سایت هایی که با جوملا طراحی شده اند موثر بوده است اما ممکن است بنا به هر دلیلی استثناء هم داشته باشد فلذا قبل از هر تغییری لطفا از سایت خود بک آپ تهیه نمایید.

 ابتدا وارد مدیریت جوملای خود شده و از منوی "سیستم" » گزینه تنظیم کلی را انتخاب کنید سپس در همان اولین تب (تب سایت) به قسمت تنظیمات کوکی بروید.

 در قسمت مسیر کوکی مقدار زیر را وارد و سپس ذخیره کنید :

/; SameSite=None

 

 در تصویر زیر به صورت واضح توضیح داده شده است

 

 

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

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

public $cookie_path = '/; SameSite=None';
تغییر داده شود به 
public $cookie_path = '';

 

 تیم آموزشی جومینا