مشکل تراکنش‌های ناموفق و لاگ اوت شدن کاربران در ارتباط با درگاه های بانکی:

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

این مشکل در مردادماه شدت گرفت که کلیه سایت های اپن کارتی - وردپرسی و جوملایی و پرستاشاپی و .... را درگیر این موضوع کرد. حتی اطلاعیه عجیب بر روی سایت تامین اجتماعی و مشکل این سایت جاوایی با درگاه بانکی گمانه زنی در خصوص وسعت این مشکل را بیشتر کرد.

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

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

در حال حاضر آپدیت اخیر فایرفاکس نیز به این قانون پیوسته و در نسخه های جدید این قوانین را اعمال کرده است.

راه حل مشکل درگاه های بانکی چیست؟

کافی است در برنامه نویسی خود کوکی سایت را بر اساس SameSite=None; Secure تنظیم نمایید. این شرایط برای هر cms یا فریم ورکی متفاوت است. برای همین بجای اینکار میتوانید این قانون را در .htaccess خود داشته باشید! به همین سادگی نیازی به تغییر کد نویسی نیز نخواهید داشت.

با توجه به آخرین بروز رسانی گوگل کروم و تغییرات امنیتی در خصوص این مرورگر کلیه سایت هایی که درگاه بانکی داشتند دچار خطای برگشت از درگاه بانک شدند . این تغییر که در گیت هاب کروم نیز به آن اشاره شده است تنها با قرار دادن کد زیر در ابتدای فایل .htaccess قابل برطرف شدن است:

Header append Set-Cookie ;SameSite=None;Secure

همچنین می توانید این کد را نیز امتحان کنید:

<ifmodule mod_headers.c>
Header always edit Set-Cookie ^(.*)$ $1;SameSite=None;Secure
</ifmodule>

 

بعد از قرار دادن این فایل و بروز شدن کوکی مرورگر کاربران به مرور این مشکل برطرف خواهد شد.

 



Wednesday, August 26, 2020

« Back