مهدی منفرد
مهدی منفرد
خواندن ۲ دقیقه·۴ سال پیش

راه حل مشکل پرداخت آنلاین(کوکی) در گوگل کروم 80 به بالا

راه حل مشکل پرداخت آنلاین(کوکی) در گوگل کروم 80 به بالا
راه حل مشکل پرداخت آنلاین(کوکی) در گوگل کروم 80 به بالا


اگر وب سایت شما هم به تازگی مشکل عدم توانایی در پرداخت آنلاین با در گوگل کروم توسط کاربرانتان را دارد حتما مقاله زیر را مطالعه کنید

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

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite

اگر به این موضوع بر خورده باشید می دونید که در پروتکل HTTP وقتی کاربر به سایت بانک یا هر تردپارتی دیگری وصل میشه و برمیگرده مشکلی نیست ولی در گوگل کروم ورژن 80 به بالا در پروتکل HTTPS پرداخت به مشکل می خوره ولی در بروزرهای دیگه مشکلی نیست، علت مشکل چیه؟

در پروتکل جدید که سه مقدار Lax,Strict,None رو قبول می کنه به صورت پیش فرض در بروزرهای غیر از کروم مقدار None روی کوکی ها ست میشه ولی در گوگل کروم با این حال که این مقدار خالی هست ولی رفتاری شبیه مقدار Lax داره و به همین علت کوکی شما در بازگشت از بانک یا هر ترد پارتی دیگه ای پاک میشه و شما به Session کاربر دسترسی نداشته و پرداخت به مشکل می خوره

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

Set-Cookie: SameSite=None; Secure

توجه داشته باشید که در موقع مقدار دهی به SameSite حتما باید مقدار Secure در کوکی شما ست بشه وگرنه خطایی در بروزر دریافت می کنید و کوکی ساخته نخواهد شد

روش انجام این کار در سرور های ویندوزی به سادگی و با مقدار دهی سه پارامتر در Web.config انجام خواهد شد برای سرورهای لینوکسی نیز می توانید با یک جستجو روش کار را پیدا کنید

<system.web>
<httpCookies sameSite=&quotNone&quot requireSSL=&quottrue&quot/>
<sessionState cookieSameSite=&quotNone&quot />
<authentication mode=&quotForms&quot>
<forms requireSSL=&quottrue&quot cookieSameSite=&quotNone&quot />
</authentication>
</system.web>

توجه داشته باشید که فقط در صورتی که از SSL در سایت خود استفاده می کنید نیاز به تنظیم این موارد می باشد

در صورتی که فکر می کنید این پست می تواند برای دوستانتان مفید و کاربردی باشد با آنها به اشتراک بگذارید

گوگل کرومپرداخت اینترنتیsamesitecookiechrome problem
برنامه نویس ارشد ماکروسافت و مدیر تکنولوژی ایران تایمر - https://www.linkedin.com/in/mahdimonfared
شاید از این پست‌ها خوشتان بیاید