אין עוגיות מפחידות

עוגיות הן הכי טריות, אז מהם המתכונים האחרונים כדי להבטיח שעדיין אפשר ליהנות מהעונה המפחידה בלי עוגיות מיושנות?

העוגיות הן הכי טריות, אז מהם המתכונים העדכניים ביותר, כדי להבטיח שעדיין תוכלו נהנים מהעונה המפחידה בלי עוגיות לא עדכניות?

אנחנו נמצאים בדרך להוצאה משימוש בהדרגה של קובצי Cookie של צד שלישי באינטרנט הפלטפורמה. זהו ציון דרך מרכזי בהתמודדות עם מעקב באתרים שונים, אבל חלק ממסע ארוך למדי. בואו נציץ במה התקדמנו מטעמים יהיו זמינים בעתיד...

למעשה, קובצי Cookie מספקים מאגר מפתח-ערך פשוט שנשלח בין הדפדפן והשרת. הן יכולות לספק פונקציונליות מועילה באתר, כמו שמירת העדפה: theme=bats או שמירת מזהה סשן של משתמש מחובר משתמש.

קובץ cookie של צד שלישי בעל ערך פשוט כמו theme=bats או fav_pumpkins=us-nyc

אם נעשה שימוש בקובץ ה-Cookie באותו אתר שהגדיר אותו, לרוב אנחנו קוראים לקובץ Cookie מהדומיין הנוכחי. אם הוא משמש באתר אחר מזה בקובץ שמגדיר אותו, אנחנו קוראים לו 'קובץ Cookie של צד שלישי'. לדוגמה, קובץ Cookie אחד (theme=bats) יהיה צד ראשון אם נכנסתי לאותו אתר שהגדיר אבל אם הוא כלול ב-iframe או במשאב אחר בין אתרים כחלק אתר אחר, זה יהיה קובץ Cookie של צד שלישי.

הבעיה בקובצי Cookie של צד שלישי היא שהם יכולים לאפשר פעילות באתרים שונים מעקב. במקום להגדיר משהו כמו עיצוב, השירות המשותף עשוי לאחסן שם מזהה שלם. אותו מזהה נשלח אחרי לנווט בין אתרים שונים שכוללים קובץ Cookie של שירותים משותפים – המשמעות היא ששירות אחד יכול לתעד את הפעילות שלכם ולקשר אותה בין האתרים האלה.

קובץ cookie של צד שלישי בעל מזהה ייחודי שמאפשר לאתר הצד השלישי לעקוב אחר משתמש באינטרנט

כברירת מחדל, קובצי cookie מהדומיין הנוכחי

כבר התקדמנו במסע הזה! פעם זו הייתה רק ההגדרה קובץ Cookie פשוט: theme=pumpkins יישלח בכל ההקשרים: אותו אתר או בין אתרים שונים! רוב האתרים רוצים רק שקובצי ה-Cookie שלהם יישלחו בהקשר של אותו אתר. אפשר לשנות את זה באמצעות המאפיין SameSite . לדוגמה:

Set-Cookie: theme=bats; SameSite=Lax

פעולה זו מנחה את הדפדפן לשלוח את קובץ ה-cookie רק אם המשאב תואם באתר ברמה העליונה. עם זאת, האתר היה צריך לציין מתי הוא רוצה קובץ Cookie מהדומיין הנוכחי. הגענו למסקנה שזה קצת אחורה מבחינת אבטחה. לשאול מתי אתם רוצים לקבל יותר הרשאות, לא רק לקבל אותן כברירת מחדל.

עכשיו ברירת המחדל היא SameSite=Lax. אם תגדיר את theme=bats רק יישלחו בהקשר של אותו אתר.

ערך ברירת המחדל SameSite=Lax מונע שליחה של קובץ Cookie בהקשר של צד שלישי

אם אתם רוצים קובץ cookie של אתרים שונים או של צד שלישי (ייתכן שאתם צריכים את העיצוב הזה) שמוצג בווידג'ט מוטמע), צריך לציין את הפרטים הבאים:

Set-Cookie: theme=bats; SameSite=None; Secure
הערך המפורש SameSite=None מסמן את קובץ ה-Cookie שיישלח בהקשרים שבין כמה אתרים

הפעולה הזו אומרת לדפדפן שאתם רוצים שקובץ ה-Cookie יישלח בכל הקשר בין אתרים, אבל שאנחנו רוצים להגביל רק לחיבורים מאובטחים.

קובצי Cookie מהדומיין הנוכחי טעימים במיוחד

אומנם ברירת המחדל השתפרה קצת, אבל עדיין יש מקום לשיפור המתכון הזה. הנה טעימה קצרה:

Set-Cookie:  __Host-theme=bats;
  Secure;
  Path=/;
  HttpOnly;
  Max-Age=7776000;
  SameSite=Lax;

כך תקבלו קובץ Cookie מהדומיין הנוכחי שמוגבל לדומיין אחד בלבד, חיבורים מאובטחים, ללא גישה באמצעות JavaScript, התוקף שלהם פג באופן אוטומטי לפני לא פעיל, (וכמובן!) מותר רק בהקשרים של אותו אתר.

לעוגיות יש טעם טוב יותר עם CHIPS!

אחד ההיבטים הקסומים באינטרנט הוא היכולת להרכיב אתרים מרובים את כל החלקים. נניח שאני רוצה ליצור ווידג'ט של מפה שמאפשר לאתרים אחרים להציג הסיורים הטובים ביותר של חלקת דלעת או מסלולים לטיפול בממתקים. השירות שלי משתמש בקובץ cookie כדי לאפשר למשתמשים לשמור את ההתקדמות שלהם לאורך המסלול. הבעיה היא, שאותה קובץ Cookie של צד שלישי יישלח באתר כתמי הדלעת, אתר שקשור לממתקים. אני לא רוצה לעקוב אחרי משתמשים בין אתרים, אבל הדפדפן פשוט משתמש במאגר קובצי Cookie אחד — אין לי אפשרות להפריד את השימוש הזה!

קובצי cookie בין אתרים עם SameSite=None עדיין נכנסים לצנצנת קובצי cookie משותפת

כאן קובצי ה-Cookie עם חלוקה עצמאית למחיצות (CHIPS), מגיעה הצעה. במקום צנצנת עוגיות משותפת אחת, יש מאגר קובצי Cookie מחולק למחיצות (Partitions) לפי אתר ברמה העליונה. אתרים יביעו הסכמה לכך באמצעות את המאפיין Partitioned בקובץ ה-cookie שלהם.

Set-Cookie: __Host-route=123;
  SameSite=None;
  Secure;
  Path=/;
  Partitioned;
המאפיין המחולק למחיצות בקובץ ה-cookie יוצר צנצנות נפרדות של קובצי Cookie לכל אתר ברמה העליונה

במקום לשתף את צנצנת העוגיות, כל אחד מקבל משלו! פשוט יותר, היגיינה ובטוחה יותר.

שלחנו עכשיו את הכוונה אל אונייה עבור קובצי Cookie עם חלוקה עצמאית למחיצות (CHIPS) ב-Chrome 109, כלומר הם יהיו יהיו זמינים לבדיקה בגרסת בטא בדצמבר, ואז יהיו מוכנים לבדיקה יציבה בינואר 2023. אז אם אתם מחפשים פתרון לשנה החדשה לשיפור קובץ ה-cookie של האתר תוכלו לראות אם אפשר להתחיל לפזר צ'יפים קובצי Cookie בין אתרים!

הזמנת קובצי cookie למסיבה עם דומיינים של צד ראשון

בנושא המשוב של מפתחים, רבים מכם הבהירו הם מצבים שבהם אתם משתפים שירותים בין אתרים שאתם שולטים בהם ושאתם רוצים להיות אפשרות להשתמש בקובצי Cookie יחד – אבל לא לאפשר להם לשלוח אותם לצד שלישי אמיתי הקשרים שונים. לדוגמה, יכול להיות שיש לך pretty-pumpkins.com וגם pretty-pumpkins.co.uk. יכול להיות שיש לכם מערכת כניסה יחידה (SSO) שמבוססת על קובצי cookie שפועל באתרים האלה. אני לא רוצה להשתמש ב-CHIPS כי אני פשוט חייבת להיכנס לשני האתרים – הדרישה היא שיהיה לי את אותו קובץ cookie של האתרים הקשורים האלה.

אנחנו עובדים על ההצעה לדומיינים של צד ראשון כדי לנסות לאפשר זאת. עברנו כבר ניסיון מקור אחד והמון דיונים בקהילה, שיצרנו את הגרסה העדכנית שמטרתה:

  • אפשר לארגונים להגדיר קבוצה של אתרים שני צדדים שלישיים.
  • שימוש ב-Storage Access API כדי לבקש גישה לקובצי cookie מאתרים שונים בתוך הקבוצה של הצד הראשון.
דומיינים של צד ראשון מאפשרים להשתמש במאגר קובצי cookie משותף רק בין אתרים קשורים

העוגיות האלה עדיין אופות בתנור, אבל אפשר לבדוק המדריך למפתחים של קבוצות של צד ראשון כאשר יש עוד דברים שתצטרכו לבדוק, או שתוכלו להיכנס הצעת WICG/first-party-sets אם שרוצים לתרום לדיון.

חבל לפספס את קובצי ה-Cookie!

המטרה שלנו היא להתחיל להפסיק בהדרגה את התמיכה בקובצי Cookie של צדדים שלישיים ב-Chrome באמצע שנת 2024. יש זמן להתכונן, אבל כדאי להתחיל לתכנן כבר עכשיו.

  1. יש לבדוק את הקוד כדי לאתר קובצי cookie באמצעות SameSite=None. אלה קובצי ה-Cookie שדורשים עדכונים.
  2. אם אין לך קובצי cookie של צד שלישי, יש לוודא את קובצי ה-cookie מאותו אתר משתמשים בקובצי ה-Cookie הטובים ביותר של צד ראשון מתכונים
  3. אם אתם משתמשים בקובצי cookie אלה בהקשר מוטמע ומוטמע במלואו, לבדוק ולבדוק את הצעת ה-CHIPS.
  4. אם אתם צריכים את קובצי ה-Cookie האלה בכמה אתרים שמרכיבים קבוצה מאוחדת אחת, ולאחר מכן לחקור את הדומיינים של הצד הראשון הצעה.
  5. אם אף אחת מהאפשרויות האלה לא מופיעה אצלך, עליך לבדוק את ההצעות האחרות של ארגז החול לפרטיות במקרים שבהם אנחנו מפתחים ממשקי API מוכנים לשימוש בתרחישים לדוגמה שלא מסתמכים על במעקב באתרים שונים.

זו רק סקירה קצרה ונמשיך לשתף עוד חדשות הנחיות במהלך העבודה. אם יש לך שאלות, בעיות או שברצונך לשתף את התוצאות של העבודה שלך, יש לנו שפע של מסלולים עבורך בקשר.

לכן, זכרו: עוגיות יכולות להיות טעימות, אבל רק כמה פעמים בכל פעם אל תנסו לגנוב אנשים אחרים!