آزمایش مبدأ کوکی‌های دارای دولت تقسیم‌بندی شده مستقل (CHIPS).

با شروع در Chrome 100، آزمایش اولیه CHIPS امکان انتخاب کوکی‌ها را در فضای ذخیره‌سازی «پارتیشن‌بندی‌شده» با یک شیشه کوکی جداگانه در هر سایت سطح بالا فراهم می‌کند.

تغییرات

چیپس چیست؟

کوکی‌های دارای حالت پارتیشن‌شده مستقل (CHIPS) یک پیشنهاد جعبه ایمنی حریم خصوصی است که به توسعه‌دهندگان اجازه می‌دهد تا یک کوکی را در فضای ذخیره‌سازی «پارتیشن‌بندی‌شده» با شیشه‌های کوکی جداگانه در هر سایت سطح بالا انتخاب کنند.

یک کوکی شخص ثالث پارتیشن بندی شده به سایت سطح بالایی که در ابتدا تنظیم شده است گره خورده است و از جای دیگری قابل دسترسی نیست. هدف این است که اجازه دهیم کوکی‌ها توسط یک سرویس شخص ثالث تنظیم شوند، اما فقط در زمینه سایت سطح بالایی که در ابتدا تنظیم شده‌اند خوانده شوند.

آزمایش مبدأ برای چه کسی است؟

این آزمایشی به‌عنوان نسخه آزمایشی شخص ثالث در دسترس است که به ارائه‌دهندگان محتوای جاسازی‌شده امکان می‌دهد یک ویژگی جدید را در چندین سایت امتحان کنند.

اگر سایتی به عنوان شخص اول در آزمایشی ثبت نام کند، پارتیشن بندی کوکی برای هر ارائه دهنده محتوای شخص ثالث در آن سایت نیز در دسترس خواهد بود. این ارائه دهندگان شخص ثالث همچنین باید انتظار دریافت سرصفحه های HTTP اضافی را داشته باشند که نشان دهنده ثبت نام آنها در آزمایش اولیه است.

آزمایش تا چه زمانی ادامه خواهد داشت؟

نسخه آزمایشی از Chrome 100 تا Chrome 105 در دسترس خواهد بود. زمان‌بندی انتشار Chrome را برای تاریخ‌های انتشار برنامه‌ریزی‌شده بررسی کنید.

نحوه ثبت نام در آزمایش اولیه

پیش نیازها

کروم پایدار 103.

مراحل

  1. برای ثبت نام در نسخه آزمایشی اصلی و دریافت رمز برای دامنه های خود، از صفحه آزمایشی مبدا CHIPS دیدن کنید.

  2. هدر Origin-Trial را با یک نشانه معتبر در هر پاسخی با سرصفحه Set-Cookie که شامل Partitioned می شود، وارد کنید:

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. ویژگی 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

  1. به chrome://flags/#partitioned-cookies بروید و تنظیمات را به «فعال» تغییر دهید.
  2. با کلیک کردن روی دکمه «راه‌اندازی مجدد» در گوشه پایین سمت راست یا با رفتن به chrome://restart، Chromium را مجدداً راه‌اندازی کنید.
  3. به chrome://settings/cookies بروید و مطمئن شوید که دکمه رادیویی روی «اجازه دادن به همه کوکی‌ها» یا «مسدود کردن کوکی‌های شخص ثالث در حالت ناشناس» تنظیم شده است.
  4. سایت را با جاسازی بارگذاری کنید.
  5. 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 در کارگران خدمات پشتیبانی نمی شود.

مشارکت کنید و بازخورد را به اشتراک بگذارید