با شروع در Chrome 100، آزمایش اولیه CHIPS امکان انتخاب کوکیها را در فضای ذخیرهسازی «پارتیشنبندیشده» با یک شیشه کوکی جداگانه در هر سایت سطح بالا فراهم میکند.
تغییرات
- سپتامبر 2022 : اطلاعات به روز شده درباره تمدید نسخه آزمایشی اصلی از طریق Chrome 106 را ببینید.
- آگوست 2022 :
path=/
الزام حذف شد (به github.com/privacycg/CHIPS/pull/49 مراجعه کنید). - ژوئن 2022 : از Chrome 104، تنظیم کوکیها با ویژگی
Partitioned
دیگر نیازی به حذف ویژگیDomain
ندارد. - مه 2022 : از Chrome 103، ارسال
Accept-CH: Sec-CH-Partitioned-Cookies
header دیگر برای شرکت در نسخه آزمایشی اصلی لازم نیست.
چیپس چیست؟
کوکیهای دارای حالت پارتیشنشده مستقل (CHIPS) یک پیشنهاد جعبه ایمنی حریم خصوصی است که به توسعهدهندگان اجازه میدهد تا یک کوکی را در فضای ذخیرهسازی «پارتیشنبندیشده» با شیشههای کوکی جداگانه در هر سایت سطح بالا انتخاب کنند.
یک کوکی شخص ثالث پارتیشن بندی شده به سایت سطح بالایی که در ابتدا تنظیم شده است گره خورده است و از جای دیگری قابل دسترسی نیست. هدف این است که اجازه دهیم کوکیها توسط یک سرویس شخص ثالث تنظیم شوند، اما فقط در زمینه سایت سطح بالایی که در ابتدا تنظیم شدهاند خوانده شوند.
آزمایش مبدأ برای چه کسی است؟
این آزمایشی بهعنوان نسخه آزمایشی شخص ثالث در دسترس است که به ارائهدهندگان محتوای جاسازیشده امکان میدهد یک ویژگی جدید را در چندین سایت امتحان کنند.
اگر سایتی به عنوان شخص اول در آزمایشی ثبت نام کند، پارتیشن بندی کوکی برای هر ارائه دهنده محتوای شخص ثالث در آن سایت نیز در دسترس خواهد بود. این ارائه دهندگان شخص ثالث همچنین باید انتظار دریافت سرصفحه های HTTP اضافی را داشته باشند که نشان دهنده ثبت نام آنها در آزمایش اولیه است.
آزمایش تا چه زمانی ادامه خواهد داشت؟
نسخه آزمایشی از Chrome 100 تا Chrome 105 در دسترس خواهد بود. زمانبندی انتشار Chrome را برای تاریخهای انتشار برنامهریزیشده بررسی کنید.
نحوه ثبت نام در آزمایش اولیه
پیش نیازها
کروم پایدار 103.
مراحل
برای ثبت نام در نسخه آزمایشی اصلی و دریافت رمز برای دامنه های خود، از صفحه آزمایشی مبدا CHIPS دیدن کنید.
هدر
Origin-Trial
را با یک نشانه معتبر در هر پاسخی با سرصفحهSet-Cookie
که شاملPartitioned
می شود، وارد کنید:Origin-Trial: <ORIGIN TRIAL TOKEN>
ویژگی
Partitioned
را به یکی از دو روش به کوکی ها اضافه کنید:در هدر
Set-Cookie
:Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
در جاوا اسکریپت:
cookieStore.set({ name: '__Host-name', value: 'value', secure: true, path: '/', sameSite: 'none', // Set a partitioned cookie using the attribute below. partitioned: true, });
مثال
سایتهایی که در آزمایش اولیه شرکت میکنند باید سرصفحههای زیر را در پاسخ خود داشته باشند:
Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
بررسی کنید که کار می کند
سربرگ ها را بررسی کنید
اگر با موفقیت در نسخه آزمایشی اصلی شرکت کرده اید و یک کوکی پارتیشن بندی شده تنظیم کرده اید، درخواست های بعدی از مشتری Chrome شامل سرصفحه درخواست Sec-CH-Partitioned-Cookies: ?0
تا پایان جلسه جاری خواهد بود.
Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value
اگر سایت شما کوکی را بدون این اشاره مشتری دریافت می کند، شرکت در نسخه آزمایشی اصلی موفقیت آمیز نبوده و کوکی که دریافت می کنید پارتیشن بندی نشده است.
پاسخهایی که شامل هدر Set-Cookie
با Partitioned
نمیشوند، بر وضعیت مشارکت آزمایشی اصلی سایت تأثیری نمیگذارند.
اگر با یک نشانه معتبر در سرصفحه Origin-Trial
پاسخ ندهید، کوکی های پارتیشن بندی شده در دستگاه به کوکی های پارتیشن نشده تبدیل می شوند.
برای جزئیات بیشتر، اسناد CHIPS را در chromium.org بررسی کنید.
DevTools
- به
chrome://flags/#partitioned-cookies
بروید و تنظیمات را به «فعال» تغییر دهید. - با کلیک کردن روی دکمه «راهاندازی مجدد» در گوشه پایین سمت راست یا با رفتن به chrome://restart، Chromium را مجدداً راهاندازی کنید.
- به
chrome://settings/cookies
بروید و مطمئن شوید که دکمه رادیویی روی «اجازه دادن به همه کوکیها» یا «مسدود کردن کوکیهای شخص ثالث در حالت ناشناس» تنظیم شده است. - سایت را با جاسازی بارگذاری کنید.
- Open DevTools را به Application > Cookies > yourSite باز کنید و به دنبال ستون Partition Key در DevTools بگردید.
جزئیات اضافی
الزامات کوکی ها
- کوکی های پارتیشن بندی شده باید با
Secure
تنظیم شوند. (Path=/
دیگر مورد نیاز نیست: github.com/privacycg/CHIPS/pull/49 را ببینید). - ویژگی
SameParty
را نمی توان همراه باPartitioned.
Chrome این قوانین را برای کوکیهای تنظیمشده با ویژگی Partitioned
اجرا میکند، چه پارتیشنبندی کوکیها فعال یا غیرفعال باشد. کوکی هایی که اشتباه تنظیم شده باشند رد می شوند.
اگر پارتیشن بندی کوکی غیرفعال باشد، اما کوکی با ویژگی های صحیح تنظیم شده باشد، Chrome ویژگی Partitioned
را نادیده می گیرد و کوکی به دست آمده همچنان در درخواست ها به میزبان خود در سایت های سطح بالایی متفاوت از جایی که تنظیم شده است ارسال می شود.
کوکی های پارتیشن بندی شده باید دارای ویژگی SameSite=None
نیز باشند تا امکان ارسال کوکی ها در زمینه شخص ثالث در مرورگرهایی که از پارتیشن بندی کوکی پشتیبانی نمی کنند، باشد.
جاوا اسکریپت و کارگران خدمات
فریم هایی که در نسخه آزمایشی اصلی شرکت می کنند به خواندن و نوشتن کوکی های پارتیشن بندی شده با استفاده از API های جاوا اسکریپت مانند document.cookie
و CookieStore API دسترسی خواهند داشت. فریم هایی که در اسکریپت های آزمایشی نیستند، نمی توانند کوکی های پارتیشن بندی شده را بخوانند یا بنویسند.
آزمایش اولیه CHIPS در کارگران خدمات پشتیبانی نمی شود.
مشارکت کنید و بازخورد را به اشتراک بگذارید
- مسائل را مطرح کنید و بحث را در GitHub دنبال کنید.
- سؤال بپرسید و به بحثهای مربوط به مخزن پشتیبانی توسعهدهنده Privacy Sandbox بپیوندید.
- راه های مختلف برای ارائه بازخورد در مورد پیشنهادات جعبه ایمنی حریم خصوصی را کاوش کنید.