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

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

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

אנחנו בדרך להוצאה משימוש בהדרגה של קובצי 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 בקובץ ה-cookie. לדוגמה:

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=אף אחד עדיין לא נכנס לצנצנת קובצי cookie משותפת

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

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

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

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

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

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

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

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

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

אל תיתנו לקובצי ה-cookie שלך להיעלם!

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

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

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

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