לפני שמתחילים:
- אם אתם לא בטוחים מה ההבדל בין 'אתר' לבין 'מקור', כדאי לעיין במאמר הסבר על המושגים 'אותו אתר' ו'אותו מקור'.
- בכותרת
Refererחסרה האות R, בגלל שגיאת איות מקורית במפרט. הכותרתReferrer-Policyוהערךreferrerב-JavaScript וב-DOM מאויתים בצורה נכונה.
סיכום
- הדפדפנים מתפתחים לכיוון מדיניות ברירת מחדל לגורם מפנה שמשפרת את הפרטיות, כדי לספק חלופה טובה כשלא מוגדרת מדיניות באתר.
- ב-Chrome מתכננים להפעיל בהדרגה את
strict-origin-when-cross-originכמדיניות ברירת המחדל בגרסה 85. יכול להיות שהשינוי הזה ישפיע על תרחישי שימוש שמסתמכים על ערך הגורם המפנה ממקור אחר. - זו ברירת המחדל החדשה, אבל בעלי אתרים עדיין יכולים לבחור מדיניות לפי בחירתם.
- כדי לנסות את השינוי ב-Chrome, מפעילים את התכונה הניסיונית בכתובת
chrome://flags/#reduced-referrer-granularity. אפשר גם לצפות בהדגמה כדי לראות את השינוי בפעולה. - בנוסף למדיניות בנושא מפנים, יכול להיות שהדרך שבה דפדפנים מתמודדים עם מפנים תשתנה, ולכן חשוב לעקוב אחרי זה.
מה עומד להשתנות ולמה?
בקשות HTTP עשויות לכלול את הכותרת האופציונלית Referer, שמציינת את המקור או את כתובת ה-URL של דף האינטרנט שממנו נשלחה הבקשה. הכותרת Referer-Policy מגדירה אילו נתונים יהיו זמינים בכותרת Referer, לניווט ולמסגרות iframe בdocument.referrer של היעד.
המידע שיישלח בכותרת Referer בבקשה מהאתר שלכם תלוי בכותרת Referrer-Policy שהגדרתם.
אם לא מוגדרת מדיניות, נעשה שימוש בברירת המחדל של הדפדפן. בדרך כלל, אתרים מסתמכים על ברירת המחדל של הדפדפן.
במקרה של ניווטים ו-iframes, אפשר לגשת לנתונים שמופיעים בכותרת 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 מציע יותר פרטיות. המדיניות הזו מאפשרת לשלוח רק את המקור בכותרת Referer של בקשות חוצות-מקורות.
כך נמנעות דליפות של נתונים פרטיים שאולי אפשר לגשת אליהם מחלקים אחרים של כתובת ה-URL המלאה, כמו הנתיב ומחרוזת השאילתה.
לדוגמה:
בקשת CORS שנשלחה מכתובת האתר https://site-one.example/stuff/detail?tag=red אל https://site-two.example/…:
- עם
no-referrer-when-downgrade: Referer: https://site-one.example/stuff/detail?tag=red. - עם
strict-origin-when-cross-origin: Referer: https://site-one.example/.
מה לא ישתנה?
- בדומה ל-
no-referrer-when-downgrade, strict-origin-when-cross-originהוא מאובטח: לא מופיע גורם מפנה (כותרתRefererו-document.referrer) כשהבקשה נשלחת ממקור HTTPS (מאובטח) למקור HTTP (לא מאובטח). כך, אם האתר שלכם משתמש ב-HTTPS (אם לא, כדאי לתת לזה עדיפות), כתובות ה-URL של האתר לא ייחשפו בבקשות שאינן HTTPS – כי כל אחד ברשת יכול לראות אותן, ולכן המשתמשים שלכם יהיו חשופים למתקפות מסוג'אדם באמצע'. - באותו מקור, ערך הכותרת
Refererהוא כתובת ה-URL המלאה.
לדוגמה: בקשה מאותו מקור, שנשלחה מכתובת האתר https://site-one.example/stuff/detail?tag=red אל https://site-one.example/…:
- עם
strict-origin-when-cross-origin: Referer: https://site-one.example/stuff/detail?tag=red
מה ההשפעה?
על סמך דיונים עם דפדפנים אחרים וניסויים שבוצעו ב-Chrome 84, ההשפעה על המשתמשים צפויה להיות מוגבלת.
רישום ביומן בצד השרת או ניתוח נתונים שמסתמך על זמינות של כתובת ה-URL המלאה של הגורם המפנה צפויים להיות מושפעים מהפחתה ברמת הפירוט של המידע הזה.
מה צריך לעשות?
ב-Chrome מתכננים להתחיל להשיק את מדיניות ברירת המחדל החדשה לגבי הגורם המפנה בגרסה 85 (יולי 2020 לגרסת בטא, אוגוסט 2020 לגרסה יציבה). אפשר לראות את הסטטוס בכניסה לסטטוס של Chrome.
הסבר על השינוי וזיהוי שלו
כדי להבין מה השינויים החדשים בברירת המחדל אומרים בפועל, אפשר לעיין בהדגמה הזו.
אפשר גם להשתמש בהדגמה הזו כדי לזהות איזו מדיניות מוחלת במופע Chrome שמופעל.
בודקים את השינוי ומנסים להבין אם הוא ישפיע על האתר
אתם יכולים לנסות את השינוי כבר עכשיו החל מגרסה 81 של Chrome: נכנסים אל chrome://flags/#reduced-referrer-granularity ב-Chrome ומפעילים את התכונה הניסיונית. אם הדגל הזה מופעל, כל האתרים ללא מדיניות ישתמשו בברירת המחדל החדשה של strict-origin-when-cross-origin.
עכשיו אפשר לבדוק את ההתנהגות של האתר והקצה העורפי.
דרך נוספת לזהות את ההשפעה היא לבדוק אם בבסיס הקוד של האתר נעשה שימוש במקור ההפניה – באמצעות הכותרת Referer של בקשות נכנסות בשרת, או באמצעות document.referrer ב-JavaScript.
תכונות מסוימות באתר שלכם עלולות להיפגע או להתנהג בצורה שונה אם אתם משתמשים בהפניה של בקשות ממקור אחר לאתר שלכם (במיוחד הנתיב או מחרוזת השאילתה) וגם המקור הזה משתמש במדיניות ברירת המחדל של הדפדפן בנושא הפניות (כלומר, לא מוגדרת מדיניות).
אם זה משפיע על האתר שלכם, כדאי לשקול חלופות
אם אתם משתמשים בכתובת הדף המפנה כדי לגשת לנתיב המלא או למחרוזת השאילתה של בקשות לאתר שלכם, יש לכם כמה אפשרויות:
- אפשר להשתמש בטכניקות חלופיות ובכותרות כמו
Originו-Sec-fetch-Siteלהגנה מפני CSRF, לרישום ביומן ולתרחישי שימוש אחרים. כדאי לעיין במאמר Referer ו-Referrer-Policy: שיטות מומלצות. - אם יש צורך בכך, אתם יכולים להגיע להסכמה עם השותפים לגבי מדיניות ספציפית, בתנאי שהיא שקופה למשתמשים שלכם.
בקרת גישה – כשאתרים משתמשים בגורם המפנה כדי להעניק גישה ספציפית למשאבים שלהם למקורות אחרים – יכולה להיות מקרה כזה, אם כי בעקבות השינוי ב-Chrome, המקור עדיין ישותף בכותרת
Referer(וב-document.referrer).
חשוב לשים לב שרוב הדפדפנים נעים בכיוון דומה בכל הנוגע למפנה (ראו את ברירות המחדל של הדפדפנים וההתפתחויות שלהם במאמר Referer ו-Referrer-Policy: שיטות מומלצות).
הטמעה של מדיניות ברורה לשיפור הפרטיות באתר
מה צריך לשלוח בבקשות שמקורן באתר שלך, כלומר איזו מדיניות צריך להגדיר באתר?Referer
גם אחרי השינוי ב-Chrome, מומלץ להגדיר כבר עכשיו מדיניות מפורשת שמחזקת את הפרטיות, כמו strict-origin-when-cross-origin או מדיניות מחמירה יותר.
כך תוכלו להגן על המשתמשים שלכם ולגרום לאתר להתנהג בצורה צפויה יותר בדפדפנים שונים. ברוב המקרים, הוא מאפשר לכם שליטה במקום שהאתר שלכם יהיה תלוי בהגדרות ברירת המחדל של הדפדפן.
פרטים על הגדרת מדיניות מופיעים במאמר השיטות המומלצות לשימוש ב-Referrer וב-Referrer-Policy.
מידע על Chrome Enterprise
מדיניות Chrome Enterprise
ForceLegacyDefaultReferrerPolicy
זמינה לאדמינים בתחום ה-IT שרוצים להחיל את מדיניות ברירת המחדל הקודמת של הגורם המפנה
no-referrer-when-downgrade בסביבות ארגוניות. כך ארגונים יכולים לקבל זמן נוסף לבדיקה ולעדכון של האפליקציות שלהם.
המדיניות הזו תוסר ב-Chrome 88.
שליחת משוב
רוצה לשלוח משוב או לדווח על משהו? אפשר לשתף משוב על הכוונה של Chrome להשיק, או לצייץ שאלות אל @maudnals.
תודה רבה לכל כותבי הביקורות על התרומה והמשוב – במיוחד ל-Kaustubha Govind, David Van Cleve, Mike West, Sam Dutton, Rowan Merewood, Jxck ו-Kayce Basques.