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

עבור אתר שאתם מפעילים, HTTP מספק הנחיית תגובה מפורשת:

Cache-Control: no-transform

RFC 9111 מחייב מתווך שמקבל את הנחיית התגובה הזו להשאיר את התוכן ללא שינוי, בין אם אותו מתווך מיישם מטמון ובין אם לאו. זה רלוונטי לדחיסה חוזרת של תמונות ולהזרקת סימון, ולא רק לשאלה אם אובייקט נשמר.

שמרו אותה עם מדיניות המטמון הקיימת

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

Cache-Control: public, max-age=3600, no-transform

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

ההנחיה פועלת באמצעות הציות של המתווך. היא אינה מונעת באופן קריפטוגרפי מהתקן רשת להתעלם מההוראה.

הגנו גם על ההובלה

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

הגישו את העמוד ואת המשאבים התלויים בו ב-HTTPS. הפנו מבקרי HTTP ל-HTTPS, ושקלו HSTS לפריסה שיכולה לתמוך בו באופן עקבי. הפניה בלבד מתחילה בחילוף HTTP לא מוגן עבור מבקר שהשתמש בכתובת HTTP; מדיניות HSTS שנלמדה בעבר או שנטענה מראש משנה את הבחירה הראשונית הזו.

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

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

מאמרים קשורים