לפני שנתחיל:
- אם אתם לא בטוחים מה ההבדל בין "site" ל-"origin", תוכלו לעיין במאמר הסבר על "same-site" ו-"same-origin".
- בכותרת
Referer
חסר R בגלל שגיאת איות מקורית במפרט. הכותרתReferrer-Policy
והכותרתreferrer
ב-JavaScript וה-DOM מאויתים כראוי.
סיכום
- דפדפנים מפתחים מדיניות ברירת מחדל לשיפור הפרטיות, כדי לספק חלופה טובה לאתר לא מוגדרת מדיניות.
- ב-Chrome מתכננים להפעיל בהדרגה את
strict-origin-when-cross-origin
כמדיניות ברירת המחדל. זה עשוי להשפיע על תרחישים לדוגמה שמסתמכים על ערך הגורם המפנה ממקור אחר. - זוהי ברירת המחדל החדשה, אך אתרים עדיין יכולים לבחור מדיניות לפי בחירתם.
- כדי לנסות את השינוי ב-Chrome, צריך להפעיל את התכונה הניסיונית ב-
chrome://flags/#reduced-referrer-granularity
. תוכלו גם לצפות בהדגמה הזו כדי לראות את השינוי בפעולה. - מעבר למדיניות בנושא גורמים מפנים, האופן שבו דפדפנים מטפלים בגורמים מפנים עשוי להשתנות – אז צריך להשגיח.
מה השתנה ולמה?
בקשות HTTP עשויות לכלול את הכותרת Referer
האופציונלית, שמציינת את כתובת ה-URL של המקור או של דף האינטרנט שממנה נשלחה הבקשה. הכותרת Referer-Policy
מגדירה אילו נתונים יהיו זמינים בכותרת Referer
, ועבור ניווט ומסגרות iframe ב-document.referrer
של היעד.
המידע המדויק שנשלח בכותרת Referer
בבקשה מהאתר שלכם נקבע לפי הכותרת Referrer-Policy
שהגדרתם.
אם לא הוגדרה מדיניות, המערכת תשתמש בברירת המחדל של הדפדפן. לעתים קרובות אתרים בוחרים להשתמש בברירת המחדל של הדפדפן.
לצורך ניווטים ומסגרות iframe, אפשר לגשת לנתונים שנמצאים בכותרת Referer
גם דרך JavaScript באמצעות document.referrer
.
עד לאחרונה, המדיניות no-referrer-when-downgrade
הייתה מדיניות ברירת מחדל נרחבת בכל הדפדפנים. אבל עכשיו דפדפנים רבים נמצאים בשלב מסוים של מעבר לברירות מחדל נוספות לשיפור הפרטיות.
מדיניות ברירת המחדל של Chrome תשתנה מ-no-referrer-when-downgrade
ל-strict-origin-when-cross-origin
, החל מגרסה 85.
כלומר, אם לא הוגדרה מדיניות לאתר שלכם, Chrome ישתמש ב-strict-origin-when-cross-origin
כברירת מחדל. חשוב לזכור שעדיין אפשר להגדיר מדיניות לפי בחירתכם. השינוי ישפיע רק על אתרים שלא הוגדרה להם מדיניות.
מה משמעות השינוי הזה?
ב-strict-origin-when-cross-origin
אפשר ליהנות מפרטיות יותר. במדיניות הזו, רק origin נשלח בכותרת Referer
של בקשות ממקורות שונים.
הפעולה הזו מונעת דליפות של נתונים פרטיים שניתן לגשת אליהם מחלקים אחרים בכתובת ה-URL המלאה, כמו הנתיב ומחרוזת השאילתה.
לדוגמה:
בקשה ממקורות שונים, שנשלחה מ-https://site-one.example/stuff/detail?tag=red אל https://site-two.example/...:
- עם
no-referrer-when-downgrade
: הגורם המפנה: https://site-one.example/stuff/detail?tag=red. - עם
strict-origin-when-cross-origin
: הגורם המפנה: https://site-one.example/.
מה נשאר ללא שינוי?
- בדומה ל-
no-referrer-when-downgrade
,strict-origin-when-cross-origin
הוא מאובטח: אין גורם מפנה (הכותרתReferer
ו-document.referrer
) כשהבקשה נשלחת ממקור HTTPS (מאובטח) למקור HTTP (לא מאובטח). כך, אם באתר נעשה שימוש ב-HTTPS (אם לא, יש להגדיר אותו בעדיפות גבוהה), כתובות ה-URL של האתר לא ידלפו בבקשות שאינן HTTPS מפני שכל אחד ברשת יכול לראות אותן. כך המשתמשים עלולים להיחשף להתקפות אדם בתווך. - באותו מקור, ערך הכותרת
Referer
הוא כתובת ה-URL המלאה.
לדוגמה: בקשת Same-origin שנשלחת מ-https://site-one.example/stuff/detail?tag=red אל https://site-one.example/...:
- עם
strict-origin-when-cross-origin
: הגורם המפנה: https://site-one.example/stuff/detail?tag=red
מה ההשפעה?
בהתבסס על דיונים עם דפדפנים אחרים והניסויים של Chrome עצמו שמופעלים ב-Chrome 84, ההפסקות הגלויות למשתמשים צפויות להיות מוגבלות.
רישום ביומן בצד השרת או ניתוח נתונים שמסתמכים על כתובת ה-URL המלאה של הגורם המפנה צפויים להיות מושפעים מרמת פירוט נמוכה יותר של המידע הזה.
מה צריך לעשות?
אנחנו מתכננים להשיק ב-Chrome את מדיניות ברירת המחדל החדשה לגורם מפנה ב-85 (גרסת הבטא מיולי 2020, או אוגוסט 2020 בגרסה יציבה). אפשר לראות את הסטטוס ברשומת הסטטוס של Chrome.
הבנה וזיהוי של השינוי
כדי להבין מה משתנה ברירת המחדל בפועל, אפשר לצפות בהדגמה הזו.
ניתן להשתמש בהדגמה הזו גם כדי לזהות איזו מדיניות חלה במופע Chrome שאתם מפעילים.
בודקים את השינוי ומחליטים אם הוא ישפיע על האתר
אתם יכולים כבר לנסות את השינוי החל מ-Chrome 81: נכנסים לכתובת chrome://flags/#reduced-referrer-granularity
ב-Chrome ומפעילים את התכונה הניסיונית. כשהסימון הזה מופעל, כל האתרים בלי מדיניות ישתמשו בברירת המחדל החדשה של strict-origin-when-cross-origin
.
עכשיו אפשר לבדוק את ההתנהגות של האתר ושל הקצה העורפי.
דרך נוספת לזהות השפעה היא לבדוק אם ה-codebase של האתר משתמש בגורם המפנה – באמצעות הכותרת Referer
של בקשות נכנסות בשרת או דרך document.referrer
ב-JavaScript.
תכונות מסוימות באתר עלולות להפסיק לפעול או להתנהג באופן שונה אם משתמשים באתר בגורם המפנה של בקשות ממקור אחר (ליתר דיוק, הנתיב ו/או מחרוזת השאילתה). כמו כן, המקור הזה משתמש במדיניות ברירת המחדל של הדפדפן לגורם מפנה (כלומר לא הוגדרה לו מדיניות).
אם זה משפיע על האתר שלך, כדאי לשקול חלופות
אם אתם משתמשים בגורם המפנה כדי לגשת לנתיב המלא או למחרוזת השאילתה של הבקשות לאתר שלכם, יש לכם כמה אפשרויות:
- אפשר להשתמש בשיטות ובכותרות חלופיות כמו
Origin
ו-Sec-fetch-Site
להגנה על ה-CSRF, לרישום ביומן ותרחישים אחרים לדוגמה. כדאי לעיין במאמר מדיניות לגבי מקורות הפניה וגורם מפנה: שיטות מומלצות. - אתם יכולים לתאם מדיניות ספציפית עם השותפים אם היא נחוצה ותספק שקיפות למשתמשים שלכם.
בקרת גישה – כשאתרים משתמשים בגורם המפנה כדי להעניק גישה ספציפית למשאבים שלהם למקורות אחרים – יכול להיות מצב כזה, למרות שעם השינוי ב-Chrome, המקור עדיין משותף בכותרת
Referer
(וב-document.referrer
).
שימו לב: רוב הדפדפנים נעים בכיוון דומה כשמדובר בגורם המפנה (כדאי לקרוא את ברירות המחדל של הדפדפן ואת ההתפתחות שלהם בקטע מדיניות של גורם מפנה והפניה: שיטות מומלצות.
ליישם באתר שלכם מדיניות מפורשת לשיפור הפרטיות
אילו Referer
צריך לשלוח בבקשות שמקורן באתר שלכם, כלומר איזו מדיניות צריך להגדיר לאתר?
גם אחרי השינויים ב-Chrome, כדאי להגדיר כבר עכשיו מדיניות מפורשת שמשפרת את הפרטיות, כמו strict-origin-when-cross-origin
או מחמירה יותר.
כך ניתן להגן על המשתמשים ולהתאים את האתר להתנהגות הרצויה בעת הגלישה בדפדפנים שונים. ברוב המקרים, הוא נותן לכם שליטה – במקום שהאתר יהיה תלוי בברירות המחדל של הדפדפן.
פרטים על הגדרת המדיניות מופיעים במאמר מדיניות של הגורם המפנה והגורם המפנה: שיטות מומלצות.
מידע על Chrome Enterprise
המדיניות הארגונית של Chrome ForceLegacyDefaultReferrerPolicy
זמינה לאדמינים ב-IT שרוצים לאלץ את מדיניות ברירת המחדל הקודמת לגורם מפנה של no-referrer-when-downgrade
בסביבות ארגוניות. כך לארגונים יהיה יותר זמן לבדוק ולעדכן את האפליקציות שלהם.
המדיניות הזו תוסר ב-Chrome 88.
שליחת משוב
רוצה לשלוח לנו משוב או משהו לדווח עליו? תוכלו לשתף משוב על הכוונה של Chrome לשלוח, או לשלוח ציוץ לשאלות שלכם בכתובת @maudnals.
אנחנו מודים לך מאוד על התוכן והמשוב של כל הבודקים – במיוחד קאוסטובהה גובינד, דיוויד ואן קליב, מייק ווסט, סאם דוטון, רואן מרווד, ג'קסק וקיייס בסק.