افزونهها میتوانند کوکیها را ذخیره کنند و به APIهای ذخیرهسازی وب، مشابه یک وبسایت معمولی، دسترسی داشته باشند. با این حال، در برخی موارد، این موارد در افزونهها متفاوت رفتار میکنند.
برای اطلاعات بیشتر در مورد API افزونه، به browser.storage مراجعه کنید.
ذخیرهسازی
اغلب استفاده از APIهای ذخیرهسازی پلتفرم وب در افزونهها مطلوب است. این بخش به بررسی رفتار این APIها در یک زمینه افزونه میپردازد که گاهی اوقات میتواند با نحوه رفتار آنها در وب متفاوت باشد.
پشتکار
وقتی کاربر دادههای مرور را پاک میکند، فضای ذخیرهسازی افزونه پاک نمیشود. این موضوع در مورد هر دادهای که با استفاده از APIهای ذخیرهسازی وب (مانند Local Storage و IndexedDB ) ذخیره میشود، صدق میکند.
به طور پیشفرض، افزونهها مشمول محدودیتهای سهمیهبندی معمول در فضای ذخیرهسازی هستند که میتوان با فراخوانی navigator.storage.estimate() آن را بررسی کرد. فضای ذخیرهسازی همچنین میتواند تحت فشار شدید حافظه آزاد شود، اگرچه این اتفاق نادر است. برای جلوگیری از این امر:
- درخواست مجوز
"unlimitedStorage"که هم بر APIهای افزونه و هم بر APIهای ذخیرهسازی وب تأثیر میگذارد و افزونهها را از محدودیتهای سهمیهبندی و حذف معاف میکند. - برای محافظت در برابر حذف، تابع
navigator.storage.persist()را فراخوانی کنید.
فضای ذخیرهسازی افزونه در سراسر مبدأ افزونه، شامل سرویسدهنده افزونه، هر صفحه افزونه (از جمله پنجرههای بازشو و پنل کناری) و اسناد خارج از صفحه، به اشتراک گذاشته میشود. در اسکریپتهای محتوا، فراخوانی APIهای ذخیرهسازی وب به دادهها از صفحه میزبانی که اسکریپت محتوا به آن تزریق شده است دسترسی پیدا میکند و نه از افزونه.
دسترسی در سرویس ورکرها
APIهای IndexedDB و Cache Storage در سرویس ورکرها قابل دسترسی هستند. با این حال، Local Storage و Session Storage اینگونه نیستند.
اگر نیاز دارید از طریق سرویس ورکر به فضای ذخیرهسازی محلی یا فضای ذخیرهسازی جلسه دسترسی داشته باشید، از یک سند خارج از صفحه استفاده کنید.
پارتیشن بندی
پارتیشنبندی جایی است که برای دادههای ذخیرهشده، کلیدهایی معرفی میشوند تا دسترسی به آنها محدود شود. ذخیرهسازی از نظر تاریخی بر اساس مبدأ کلیدگذاری شده است.
با شروع از کروم ۱۱۵، پارتیشنبندی ذخیرهسازی تغییراتی را در نحوه تعریف کلیدهای پارتیشنبندی ایجاد میکند تا از انواع خاصی از ردیابی بین سایتی جلوگیری شود. در عمل، این بدان معناست که اگر سایت A یک iframe حاوی سایت B را جاسازی کند، سایت B قادر به دسترسی به همان فضای ذخیرهسازی که معمولاً هنگام پیمایش مستقیم به آن دسترسی دارد، نخواهد بود.
برای کاهش تأثیر این موضوع در تمدیدها، دو استثنا اعمال میشود:
- اگر صفحهای با طرح
chrome-extension://در هر سایتی تعبیه شده باشد، پارتیشنبندی ذخیرهسازی اعمال نخواهد شد و افزونه به پارتیشن سطح بالای خود دسترسی خواهد داشت. - اگر صفحهای با طرح
chrome-extension://شامل یک iframe باشد و افزونه مجوزهای میزبان را برای سایتی که در آن جاسازی شده است، داشته باشد، آن سایت به پارتیشن سطح بالای خود نیز دسترسی خواهد داشت.
کوکیها
کوکیها راهی برای ذخیره جفتهای کلید-مقدار مرتبط با یک دامنه و مسیر خاص فراهم میکنند. آنها در افزونهها ارزش محدودی دارند، اما درک رفتار آنها میتواند مفید باشد اگر مورد استفاده خاصی دارید یا یک اسکریپت شخص ثالث را که از آنها در پیادهسازی خود استفاده میکند، بستهبندی کردهاید.
کوکیهای امن
ویژگی کوکی Secure فقط برای طرح https:// پشتیبانی میشود. در نتیجه، صفحات chrome-extension:// قادر به تنظیم کوکیها با این ویژگی نیستند.
این همچنین بدان معنی است که صفحات افزونه نمیتوانند در جایی که ویژگی Secure مورد نیاز است، از سایر ویژگیهای کوکی استفاده کنند:
پارتیشنبندی و رفتار SameSite
کوکیهایی که روی صفحات chrome-extension:// تنظیم میشوند، همیشه SameSite=Lax استفاده میکنند. در نتیجه، کوکیهایی که توسط یک افزونه در مبدا خودش تنظیم میشوند، هرگز نمیتوانند در فریمها قابل دسترسی باشند و پارتیشنبندی اهمیتی ندارد.
برای کوکیهای مرتبط با سایتهای شخص ثالث، مانند یک سایت شخص ثالث که در یک قاب در صفحه افزونه بارگذاری شده است، یا درخواستی که از یک صفحه افزونه به مبدا شخص ثالث ارسال میشود، کوکیها مانند وب رفتار میکنند، به جز در دو مورد:
- اگر صفحه اصلی یک برگه مشخص، یک صفحه
chrome-extension://باشد، کوکیهای شخص ثالث حتی در زیرفریمها نیز هرگز مسدود نمیشوند. - درخواستهای یک افزونه به یک شخص ثالث، در صورتی که افزونه مجوزهای میزبانی برای شخص ثالث را داشته باشد، به عنوان درخواستهای same-site در نظر گرفته میشوند. این به این معنی است که کوکیهای
SameSite=Strictمیتوانند ارسال شوند. توجه داشته باشید که این فقط برای درخواستهای شبکه اعمال میشود، نه دسترسی از طریقdocument.cookieدر جاوا اسکریپت، و در صورت مسدود بودن کوکیهای شخص ثالث، اعمال نمیشود.
توجه داشته باشید که تنظیمات مربوط به کوکیهای شخص ثالث تحت تأثیر عملکرد Privacy Sandbox قرار دارند و طبق جدول زمانی آن تنظیم میشوند.
API browser.cookies کنترل کلید پارتیشن مورد استفاده با هر متد API را فراهم میکند. برای اطلاعات بیشتر، به مرجع API مراجعه کنید.
افزونهها میتوانند کوکیها را ذخیره کنند و به APIهای ذخیرهسازی وب، مشابه یک وبسایت معمولی، دسترسی داشته باشند. با این حال، در برخی موارد، این موارد در افزونهها متفاوت رفتار میکنند.
برای اطلاعات بیشتر در مورد API افزونه، به browser.storage مراجعه کنید.
ذخیرهسازی
اغلب استفاده از APIهای ذخیرهسازی پلتفرم وب در افزونهها مطلوب است. این بخش به بررسی رفتار این APIها در یک زمینه افزونه میپردازد که گاهی اوقات میتواند با نحوه رفتار آنها در وب متفاوت باشد.
پشتکار
وقتی کاربر دادههای مرور را پاک میکند، فضای ذخیرهسازی افزونه پاک نمیشود. این موضوع در مورد هر دادهای که با استفاده از APIهای ذخیرهسازی وب (مانند Local Storage و IndexedDB ) ذخیره میشود، صدق میکند.
به طور پیشفرض، افزونهها مشمول محدودیتهای سهمیهبندی معمول در فضای ذخیرهسازی هستند که میتوان با فراخوانی navigator.storage.estimate() آن را بررسی کرد. فضای ذخیرهسازی همچنین میتواند تحت فشار شدید حافظه آزاد شود، اگرچه این اتفاق نادر است. برای جلوگیری از این امر:
- درخواست مجوز
"unlimitedStorage"که هم بر APIهای افزونه و هم بر APIهای ذخیرهسازی وب تأثیر میگذارد و افزونهها را از محدودیتهای سهمیهبندی و حذف معاف میکند. - برای محافظت در برابر حذف، تابع
navigator.storage.persist()را فراخوانی کنید.
فضای ذخیرهسازی افزونه در سراسر مبدأ افزونه، شامل سرویسدهنده افزونه، هر صفحه افزونه (از جمله پنجرههای بازشو و پنل کناری) و اسناد خارج از صفحه، به اشتراک گذاشته میشود. در اسکریپتهای محتوا، فراخوانی APIهای ذخیرهسازی وب به دادهها از صفحه میزبانی که اسکریپت محتوا به آن تزریق شده است دسترسی پیدا میکند و نه از افزونه.
دسترسی در سرویس ورکرها
APIهای IndexedDB و Cache Storage در سرویس ورکرها قابل دسترسی هستند. با این حال، Local Storage و Session Storage اینگونه نیستند.
اگر نیاز دارید از طریق سرویس ورکر به فضای ذخیرهسازی محلی یا فضای ذخیرهسازی جلسه دسترسی داشته باشید، از یک سند خارج از صفحه استفاده کنید.
پارتیشن بندی
پارتیشنبندی جایی است که برای دادههای ذخیرهشده، کلیدهایی معرفی میشوند تا دسترسی به آنها محدود شود. ذخیرهسازی از نظر تاریخی بر اساس مبدأ کلیدگذاری شده است.
با شروع از کروم ۱۱۵، پارتیشنبندی ذخیرهسازی تغییراتی را در نحوه تعریف کلیدهای پارتیشنبندی ایجاد میکند تا از انواع خاصی از ردیابی بین سایتی جلوگیری شود. در عمل، این بدان معناست که اگر سایت A یک iframe حاوی سایت B را جاسازی کند، سایت B قادر به دسترسی به همان فضای ذخیرهسازی که معمولاً هنگام پیمایش مستقیم به آن دسترسی دارد، نخواهد بود.
برای کاهش تأثیر این موضوع در تمدیدها، دو استثنا اعمال میشود:
- اگر صفحهای با طرح
chrome-extension://در هر سایتی تعبیه شده باشد، پارتیشنبندی ذخیرهسازی اعمال نخواهد شد و افزونه به پارتیشن سطح بالای خود دسترسی خواهد داشت. - اگر صفحهای با طرح
chrome-extension://شامل یک iframe باشد و افزونه مجوزهای میزبان را برای سایتی که در آن جاسازی شده است، داشته باشد، آن سایت به پارتیشن سطح بالای خود نیز دسترسی خواهد داشت.
کوکیها
کوکیها راهی برای ذخیره جفتهای کلید-مقدار مرتبط با یک دامنه و مسیر خاص فراهم میکنند. آنها در افزونهها ارزش محدودی دارند، اما درک رفتار آنها میتواند مفید باشد اگر مورد استفاده خاصی دارید یا یک اسکریپت شخص ثالث را که از آنها در پیادهسازی خود استفاده میکند، بستهبندی کردهاید.
کوکیهای امن
ویژگی کوکی Secure فقط برای طرح https:// پشتیبانی میشود. در نتیجه، صفحات chrome-extension:// قادر به تنظیم کوکیها با این ویژگی نیستند.
این همچنین بدان معنی است که صفحات افزونه نمیتوانند در جایی که ویژگی Secure مورد نیاز است، از سایر ویژگیهای کوکی استفاده کنند:
پارتیشنبندی و رفتار SameSite
کوکیهایی که روی صفحات chrome-extension:// تنظیم میشوند، همیشه SameSite=Lax استفاده میکنند. در نتیجه، کوکیهایی که توسط یک افزونه در مبدا خودش تنظیم میشوند، هرگز نمیتوانند در فریمها قابل دسترسی باشند و پارتیشنبندی اهمیتی ندارد.
برای کوکیهای مرتبط با سایتهای شخص ثالث، مانند یک سایت شخص ثالث که در یک قاب در صفحه افزونه بارگذاری شده است، یا درخواستی که از یک صفحه افزونه به مبدا شخص ثالث ارسال میشود، کوکیها مانند وب رفتار میکنند، به جز در دو مورد:
- اگر صفحه اصلی یک برگه مشخص، یک صفحه
chrome-extension://باشد، کوکیهای شخص ثالث حتی در زیرفریمها نیز هرگز مسدود نمیشوند. - درخواستهای یک افزونه به یک شخص ثالث، در صورتی که افزونه مجوزهای میزبانی برای شخص ثالث را داشته باشد، به عنوان درخواستهای same-site در نظر گرفته میشوند. این به این معنی است که کوکیهای
SameSite=Strictمیتوانند ارسال شوند. توجه داشته باشید که این فقط برای درخواستهای شبکه اعمال میشود، نه دسترسی از طریقdocument.cookieدر جاوا اسکریپت، و در صورت مسدود بودن کوکیهای شخص ثالث، اعمال نمیشود.
توجه داشته باشید که تنظیمات مربوط به کوکیهای شخص ثالث تحت تأثیر عملکرد Privacy Sandbox قرار دارند و طبق جدول زمانی آن تنظیم میشوند.
API browser.cookies کنترل کلید پارتیشن مورد استفاده با هر متد API را فراهم میکند. برای اطلاعات بیشتر، به مرجع API مراجعه کنید.
افزونهها میتوانند کوکیها را ذخیره کنند و به APIهای ذخیرهسازی وب، مشابه یک وبسایت معمولی، دسترسی داشته باشند. با این حال، در برخی موارد، این موارد در افزونهها متفاوت رفتار میکنند.
برای اطلاعات بیشتر در مورد API افزونه، به browser.storage مراجعه کنید.
ذخیرهسازی
اغلب استفاده از APIهای ذخیرهسازی پلتفرم وب در افزونهها مطلوب است. این بخش به بررسی رفتار این APIها در یک زمینه افزونه میپردازد که گاهی اوقات میتواند با نحوه رفتار آنها در وب متفاوت باشد.
پشتکار
وقتی کاربر دادههای مرور را پاک میکند، فضای ذخیرهسازی افزونه پاک نمیشود. این موضوع در مورد هر دادهای که با استفاده از APIهای ذخیرهسازی وب (مانند Local Storage و IndexedDB ) ذخیره میشود، صدق میکند.
به طور پیشفرض، افزونهها مشمول محدودیتهای سهمیهبندی معمول در فضای ذخیرهسازی هستند که میتوان با فراخوانی navigator.storage.estimate() آن را بررسی کرد. فضای ذخیرهسازی همچنین میتواند تحت فشار شدید حافظه آزاد شود، اگرچه این اتفاق نادر است. برای جلوگیری از این امر:
- درخواست مجوز
"unlimitedStorage"که هم بر APIهای افزونه و هم بر APIهای ذخیرهسازی وب تأثیر میگذارد و افزونهها را از محدودیتهای سهمیهبندی و حذف معاف میکند. - برای محافظت در برابر حذف، تابع
navigator.storage.persist()را فراخوانی کنید.
فضای ذخیرهسازی افزونه در سراسر مبدأ افزونه، شامل سرویسدهنده افزونه، هر صفحه افزونه (از جمله پنجرههای بازشو و پنل کناری) و اسناد خارج از صفحه، به اشتراک گذاشته میشود. در اسکریپتهای محتوا، فراخوانی APIهای ذخیرهسازی وب به دادهها از صفحه میزبانی که اسکریپت محتوا به آن تزریق شده است دسترسی پیدا میکند و نه از افزونه.
دسترسی در سرویس ورکرها
APIهای IndexedDB و Cache Storage در سرویس ورکرها قابل دسترسی هستند. با این حال، Local Storage و Session Storage اینگونه نیستند.
اگر نیاز دارید از طریق سرویس ورکر به فضای ذخیرهسازی محلی یا فضای ذخیرهسازی جلسه دسترسی داشته باشید، از یک سند خارج از صفحه استفاده کنید.
پارتیشن بندی
پارتیشنبندی جایی است که برای دادههای ذخیرهشده، کلیدهایی معرفی میشوند تا دسترسی به آنها محدود شود. ذخیرهسازی از نظر تاریخی بر اساس مبدأ کلیدگذاری شده است.
با شروع از کروم ۱۱۵، پارتیشنبندی ذخیرهسازی تغییراتی را در نحوه تعریف کلیدهای پارتیشنبندی ایجاد میکند تا از انواع خاصی از ردیابی بین سایتی جلوگیری شود. در عمل، این بدان معناست که اگر سایت A یک iframe حاوی سایت B را جاسازی کند، سایت B قادر به دسترسی به همان فضای ذخیرهسازی که معمولاً هنگام پیمایش مستقیم به آن دسترسی دارد، نخواهد بود.
برای کاهش تأثیر این موضوع در تمدیدها، دو استثنا اعمال میشود:
- اگر صفحهای با طرح
chrome-extension://در هر سایتی تعبیه شده باشد، پارتیشنبندی ذخیرهسازی اعمال نخواهد شد و افزونه به پارتیشن سطح بالای خود دسترسی خواهد داشت. - اگر صفحهای با طرح
chrome-extension://شامل یک iframe باشد و افزونه مجوزهای میزبان را برای سایتی که در آن جاسازی شده است، داشته باشد، آن سایت به پارتیشن سطح بالای خود نیز دسترسی خواهد داشت.
کوکیها
کوکیها راهی برای ذخیره جفتهای کلید-مقدار مرتبط با یک دامنه و مسیر خاص فراهم میکنند. آنها در افزونهها ارزش محدودی دارند، اما درک رفتار آنها میتواند مفید باشد اگر مورد استفاده خاصی دارید یا یک اسکریپت شخص ثالث را که از آنها در پیادهسازی خود استفاده میکند، بستهبندی کردهاید.
کوکیهای امن
ویژگی کوکی Secure فقط برای طرح https:// پشتیبانی میشود. در نتیجه، صفحات chrome-extension:// قادر به تنظیم کوکیها با این ویژگی نیستند.
این همچنین بدان معنی است که صفحات افزونه نمیتوانند در جایی که ویژگی Secure مورد نیاز است، از سایر ویژگیهای کوکی استفاده کنند:
پارتیشنبندی و رفتار SameSite
کوکیهایی که روی صفحات chrome-extension:// تنظیم میشوند، همیشه SameSite=Lax استفاده میکنند. در نتیجه، کوکیهایی که توسط یک افزونه در مبدا خودش تنظیم میشوند، هرگز نمیتوانند در فریمها قابل دسترسی باشند و پارتیشنبندی اهمیتی ندارد.
برای کوکیهای مرتبط با سایتهای شخص ثالث، مانند یک سایت شخص ثالث که در یک قاب در صفحه افزونه بارگذاری شده است، یا درخواستی که از یک صفحه افزونه به مبدا شخص ثالث ارسال میشود، کوکیها مانند وب رفتار میکنند، به جز در دو مورد:
- اگر صفحه اصلی یک برگه مشخص، یک صفحه
chrome-extension://باشد، کوکیهای شخص ثالث حتی در زیرفریمها نیز هرگز مسدود نمیشوند. - درخواستهای یک افزونه به یک شخص ثالث، در صورتی که افزونه مجوزهای میزبانی برای شخص ثالث را داشته باشد، به عنوان درخواستهای same-site در نظر گرفته میشوند. این به این معنی است که کوکیهای
SameSite=Strictمیتوانند ارسال شوند. توجه داشته باشید که این فقط برای درخواستهای شبکه اعمال میشود، نه دسترسی از طریقdocument.cookieدر جاوا اسکریپت، و در صورت مسدود بودن کوکیهای شخص ثالث، اعمال نمیشود.
توجه داشته باشید که تنظیمات مربوط به کوکیهای شخص ثالث تحت تأثیر عملکرد Privacy Sandbox قرار دارند و طبق جدول زمانی آن تنظیم میشوند.
API browser.cookies کنترل کلید پارتیشن مورد استفاده با هر متد API را فراهم میکند. برای اطلاعات بیشتر، به مرجع API مراجعه کنید.
افزونهها میتوانند کوکیها را ذخیره کنند و به APIهای ذخیرهسازی وب، مشابه یک وبسایت معمولی، دسترسی داشته باشند. با این حال، در برخی موارد، این موارد در افزونهها متفاوت رفتار میکنند.
برای اطلاعات بیشتر در مورد API افزونه، به browser.storage مراجعه کنید.
ذخیرهسازی
اغلب استفاده از APIهای ذخیرهسازی پلتفرم وب در افزونهها مطلوب است. این بخش به بررسی رفتار این APIها در یک زمینه افزونه میپردازد که گاهی اوقات میتواند با نحوه رفتار آنها در وب متفاوت باشد.
پشتکار
وقتی کاربر دادههای مرور را پاک میکند، فضای ذخیرهسازی افزونه پاک نمیشود. این موضوع در مورد هر دادهای که با استفاده از APIهای ذخیرهسازی وب (مانند Local Storage و IndexedDB ) ذخیره میشود، صدق میکند.
به طور پیشفرض، افزونهها مشمول محدودیتهای سهمیهبندی معمول در فضای ذخیرهسازی هستند که میتوان با فراخوانی navigator.storage.estimate() آن را بررسی کرد. فضای ذخیرهسازی همچنین میتواند تحت فشار شدید حافظه آزاد شود، اگرچه این اتفاق نادر است. برای جلوگیری از این امر:
- درخواست مجوز
"unlimitedStorage"که هم بر APIهای افزونه و هم بر APIهای ذخیرهسازی وب تأثیر میگذارد و افزونهها را از محدودیتهای سهمیهبندی و حذف معاف میکند. - برای محافظت در برابر حذف، تابع
navigator.storage.persist()را فراخوانی کنید.
فضای ذخیرهسازی افزونه در سراسر مبدأ افزونه، شامل سرویسدهنده افزونه، هر صفحه افزونه (از جمله پنجرههای بازشو و پنل کناری) و اسناد خارج از صفحه، به اشتراک گذاشته میشود. در اسکریپتهای محتوا، فراخوانی APIهای ذخیرهسازی وب به دادهها از صفحه میزبانی که اسکریپت محتوا به آن تزریق شده است دسترسی پیدا میکند و نه از افزونه.
دسترسی در سرویس ورکرها
APIهای IndexedDB و Cache Storage در سرویس ورکرها قابل دسترسی هستند. با این حال، Local Storage و Session Storage اینگونه نیستند.
اگر نیاز دارید از طریق سرویس ورکر به فضای ذخیرهسازی محلی یا فضای ذخیرهسازی جلسه دسترسی داشته باشید، از یک سند خارج از صفحه استفاده کنید.
پارتیشن بندی
پارتیشنبندی جایی است که برای دادههای ذخیرهشده، کلیدهایی معرفی میشوند تا دسترسی به آنها محدود شود. ذخیرهسازی از نظر تاریخی بر اساس مبدأ کلیدگذاری شده است.
با شروع از کروم ۱۱۵، پارتیشنبندی ذخیرهسازی تغییراتی را در نحوه تعریف کلیدهای پارتیشنبندی ایجاد میکند تا از انواع خاصی از ردیابی بین سایتی جلوگیری شود. در عمل، این بدان معناست که اگر سایت A یک iframe حاوی سایت B را جاسازی کند، سایت B قادر به دسترسی به همان فضای ذخیرهسازی که معمولاً هنگام پیمایش مستقیم به آن دسترسی دارد، نخواهد بود.
برای کاهش تأثیر این موضوع در تمدیدها، دو استثنا اعمال میشود:
- اگر صفحهای با طرح
chrome-extension://در هر سایتی تعبیه شده باشد، پارتیشنبندی ذخیرهسازی اعمال نخواهد شد و افزونه به پارتیشن سطح بالای خود دسترسی خواهد داشت. - اگر صفحهای با طرح
chrome-extension://شامل یک iframe باشد و افزونه مجوزهای میزبان را برای سایتی که در آن جاسازی شده است، داشته باشد، آن سایت به پارتیشن سطح بالای خود نیز دسترسی خواهد داشت.
کوکیها
کوکیها راهی برای ذخیره جفتهای کلید-مقدار مرتبط با یک دامنه و مسیر خاص فراهم میکنند. آنها در افزونهها ارزش محدودی دارند، اما درک رفتار آنها میتواند مفید باشد اگر مورد استفاده خاصی دارید یا یک اسکریپت شخص ثالث را که از آنها در پیادهسازی خود استفاده میکند، بستهبندی کردهاید.
کوکیهای امن
ویژگی کوکی Secure فقط برای طرح https:// پشتیبانی میشود. در نتیجه، صفحات chrome-extension:// قادر به تنظیم کوکیها با این ویژگی نیستند.
این همچنین بدان معنی است که صفحات افزونه نمیتوانند در جایی که ویژگی Secure مورد نیاز است، از سایر ویژگیهای کوکی استفاده کنند:
پارتیشنبندی و رفتار SameSite
کوکیهایی که روی صفحات chrome-extension:// تنظیم میشوند، همیشه SameSite=Lax استفاده میکنند. در نتیجه، کوکیهایی که توسط یک افزونه در مبدا خودش تنظیم میشوند، هرگز نمیتوانند در فریمها قابل دسترسی باشند و پارتیشنبندی اهمیتی ندارد.
برای کوکیهای مرتبط با سایتهای شخص ثالث، مانند یک سایت شخص ثالث که در یک قاب در صفحه افزونه بارگذاری شده است، یا درخواستی که از یک صفحه افزونه به مبدا شخص ثالث ارسال میشود، کوکیها مانند وب رفتار میکنند، به جز در دو مورد:
- اگر صفحه اصلی یک برگه مشخص، یک صفحه
chrome-extension://باشد، کوکیهای شخص ثالث حتی در زیرفریمها نیز هرگز مسدود نمیشوند. - درخواستهای یک افزونه به یک شخص ثالث، در صورتی که افزونه مجوزهای میزبانی برای شخص ثالث را داشته باشد، به عنوان درخواستهای same-site در نظر گرفته میشوند. این به این معنی است که کوکیهای
SameSite=Strictمیتوانند ارسال شوند. توجه داشته باشید که این فقط برای درخواستهای شبکه اعمال میشود، نه دسترسی از طریقdocument.cookieدر جاوا اسکریپت، و در صورت مسدود بودن کوکیهای شخص ثالث، اعمال نمیشود.
توجه داشته باشید که تنظیمات مربوط به کوکیهای شخص ثالث تحت تأثیر عملکرد Privacy Sandbox قرار دارند و طبق جدول زمانی آن تنظیم میشوند.
API browser.cookies کنترل کلید پارتیشن مورد استفاده با هر متد API را فراهم میکند. برای اطلاعات بیشتر، به مرجع API مراجعه کنید.