Chrome تجربه جدیدی را ارائه کرده است که به کاربران امکان میدهد نحوه استفاده از کوکیهای شخص ثالث را هنگام مرور انتخاب کنند. سایتها و سرویسها ممکن است نیاز داشته باشند تشخیص دهند که کوکیهای شخص ثالث در یک زمینه خاص در دسترس هستند یا نه. Chrome دو روش اصلی برای شناسایی دسترسی به کوکیهای شخص ثالث برای محتوای جاسازی شده دارد: استفاده از روش جاوا اسکریپت hasStorageAccess و مشاهده سرصفحههای Sec-Fetch-Storage-Access.
Privacy Sandbox APIهایی را معرفی کرد که در صورت رعایت شرایط خاص ممکن است به فریمهای خاصی دسترسی به کوکیهای شخص ثالث بدهد. بنابراین، مهم است که بتوانیم دسترسی به کوکیهای پارتیشن نشده را بر اساس هر جاسازی شناسایی کنیم.
شناسایی دسترسی به کوکی های شخص ثالث در iframe
وقتی محتوای iframe در سایتی میزبانی میشود که با سایتی که در نوار آدرس کاربر نمایش داده میشود متفاوت است، آن را بین سایتی در نظر میگیرند و ممکن است کوکیهای شخص ثالث محدود شوند. iframe می تواند تشخیص دهد که آیا در حال حاضر به کوکی های شخص ثالث دسترسی دارد یا خیر، با فراخوانی await document.hasStorageAccess()
. این روش بسته به اینکه فریم به کوکی های پارتیشن نشده دسترسی داشته باشد، true
یا false
را برمی گرداند.
اگر iframe شما از Storage Access API (SAA) برای دسترسی به کوکیهای بین سایتی پارتیشن نشده (با استفاده از SAA به تنهایی یا با مجموعههای وبسایت مرتبط ) استفاده میکند، میتوانید مجوز storage-access
بررسی کنید تا تعیین کنید آیا فریم میتواند دسترسی به کوکیهای پارتیشن نشده را انتخاب کند یا خیر.
شناسایی دسترسی به کوکی های شخص ثالث در درخواست های HTTP
از Chrome 133، سرصفحه Sec-Fetch-Storage-Access
با درخواستهای اعتباری ارسال میشود تا به سرور اطلاع دهد که آیا زمینه تماس آن به کوکیهای تقسیمبندی نشده دسترسی دارد یا خیر. این هدر شامل یکی از سه مقدار است:
-
none
: جاسازی به کوکی های پارتیشن نشده دسترسی ندارد -
inactive
: جاسازی اجازه دسترسی به کوکی های پارتیشن نشده را دارد اما آن را فعال نکرده است -
active
: جاسازی به کوکی های پارتیشن نشده دسترسی دارد
شرایطی که به جاسازیها دسترسی به کوکیهای پارتیشن نشده را میدهد
دسترسی به کوکیهای شخص ثالث پارتیشن نشده را میتوان به روشهای مختلفی برای پشتیبانی از مواردی که این کوکیها عملکردهای لازم را ارائه میکنند، اعطا کرد. روش های زیر منجر به اعطای دسترسی به کوکی بدون پارتیشن می شود. در چندین مورد، requestStorageAccess()
یا requestStorageAccessFor()
باید قبل از اعطای دسترسی فراخوانی شود.
روش | مثال | آیا باید با requestStorageAccess تماس بگیرید؟ |
---|---|---|
درخواست API دسترسی به حافظه | از کاربر خواسته می شود که اجازه دسترسی به فضای ذخیره سازی را بدهد و "Allow" را انتخاب می کند. | بله |
مدیریت اعتبار فدرال | کاربر با یک ارائه دهنده هویت فدرال (IdP) وارد می شود. چارچوب IdP دسترسی به فضای ذخیره سازی را درخواست می کند. | بله |
مجموعه های وب سایت مرتبط | embed و embedder متعلق به یک RWS هستند. | بله |
3 رایانه شخصی در تنظیمات کاربر فعال شده است | کاربر انتخاب می کند که به 3PC برای تمام مرور خود یا فقط برای یک منبع خاص اجازه دهد. | خیر |
استثناهای مبتنی بر اکتشاف | Chrome یک الگوی اکتشافی را تشخیص میدهد و بهطور خودکار به کوکیهای پارتیشن نشده دسترسی میدهد. فراخوانی به requestStorageAccess() لازم نیست. | خیر |
استثناهای موقت (به عنوان مثال، دوره مهلت) | سایت یا سرویس در یک استثنا موقت Chrome ثبت نام کرده است زیرا آنها به یک راه حل بادوام تر منتقل می شوند. | خیر |
سیاست های سازمانی | سرپرست Chrome Enterprise یک شرکت انتخاب کرده است که 3PC در برخی یا همه ترافیک مجاز باشد. | خیر |