حل مشکل استفاده‌ی همزمان از iframe و Cookie challenge در مرورگرهای سیستم عامل iOS و MacOS

سلام
در بعضی سرویس‌ها استفاده از iframe لازم و حیاتی است. مشکلی که در حال حاضر وجود دارد، این است که در مرورگر کروم، کوکی‌هایی که بدون ویژگی SameSite=None تنظیم می‌شود، در صورتی که با درخواست از دامنه‌ی دیگری آمده باشد (از جمله در iframe) بلاک می‌شود و این موضوع باعث می‌شود که کوکی مربوط به جلوگیری از حملات DDoS آروان نیز بلاک شده و در نهایت، بارگذاری صفحه در iframe پس از تعداد زیادی Redirect با شکست روبرو شود. این موضوع در مرورگرهای دیگر مشکلی ندارد و در حال حاضر فقط کروم این کار را انجام داده است. از طرف دیگر، اگر SameSite=None روی کوکی وجود داشته باشد، مرورگر Safari روی MacOS 10.14 و تمام مرورگرها روی iOS 12 به مشکل برخورد می‌کنند.
در حال حاضر یک API توسط آروان اضافه شده که با استفاده از آن می‌توان SameSite=None را به کوکی‌های مربوط به جلوگیری از DDoS اضافه کرد. اما راهی برای پشتیبانی کردن از مرورگرهایی که ذکر شد مشکل دارند، هنوز ارائه نشده.
پیشنهاد می‌کنم برای حل این مسئله، دو کوکی با دو نام مختلف برای جلوگیری از حملات DDoS تنظیم شود که یکی SameSite=None دارد و یکی خیر. به این شکل تمام مرورگرها حداقل یکی از این کوکی‌ها را پذیرفته و دیگر مشکلی وجود نخواهد داشت.

چند لینک در مورد مشکل و راه حلی که ذکر کردم:


https://bugs.webkit.org/show_bug.cgi?id=198181

1 Likes

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

1 Likes

سلام وقت بخیر
ما در این مورد در پروژه مون خیلی تحقیق کردیم و انواع راه حل ها رو سرچ کردیم اما چون کوکی شخص ثالث صورت میگیره کوکی ها میپره و راه حلی براش وجود نداره !!!
و مجبور به Redirect و انتقال به صفحه رو عملی کردیم !!
این مشکل برای درگاه های پرداخت در کوکی باز هست ( با توجه به تست راه حل های کوکی شخص ثالث)

بله متوجه هستم. متاسفانه ظاهرا این مساله به دلیل عدم پشتیبانی کامل از استاندارد توسط دستگاه های iOs اتفاق می افتد.

1 Likes

@SaberMesgari

بسیار سپاسگزارم از توجهتون و بی صبرانه منتظر پیاده‌سازی این مورد خواهیم بود.

@chavoshipour

راه حلی که عرض کردم، روی سرویس‌های ما کاملاً جواب داد. برای ارتباط بین چند سرویس خودمون این iframe رو نیاز داشتیم و کاملاً درست کار می‌کرد. اما وقتی Cookie Challenge فعال میشه، به مشکل می‌خوره.