Proksi koji transformiše sadržaj može promeniti odgovor na putu do pregledača: ponovo komprimovati sliku, prepisati oznake ili umetnuti prateći JavaScript. Stranica koja radi na jednoj mreži i na drugoj dobije nepoznate oznake možda se susreće upravo s takvim ponašanjem posrednika.

Za stranicu koju upravljate, HTTP pruža izričitu direktivu odgovora:

Cache-Control: no-transform

RFC 9111 zahteva da posrednik koji primi ovu direktivu odgovora ostavi sadržaj netransformisanim, bez obzira na to da li taj posrednik implementira keš. To je relevantno za ponovnu kompresiju slika i umetanje oznaka, a ne samo za to da li će objekat biti sačuvan.

Zadržite je uz postojeću politiku keša

Ako odgovor već ima direktive keša, dodajte zahtev namerno umesto da odbacite ostatak politike. Na primer, javno keširan resurs može imati:

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

Ovaj primer zadržava politiku svežine od jednog sata uz zabranu transformacije sadržaja. no-transform ne podrazumeva no-store niti isključuje uobičajenu obradu prenosa. Postavite je na odgovore čiji je izvorni sadržaj važan, uključujući zasebne odgovore sa slikama gde je to primereno.

Direktiva deluje kroz usklađenost posrednika. Ona kriptografski ne sprečava mrežni uređaj da zanemari uputstvo.

Zaštitite i prenos

HTTPS pregledaču daje vezu sa autentifikacijom i zaštitom integriteta prema njegovom TLS partneru. Obični proksi operatera koji propušta šifrovani saobraćaj ne može tiho umetnuti skriptu u tu zaštićenu vezu. Zadržite proveru sertifikata; lokalno pouzdan inspekcijski proksi koji prekida TLS drugačiji je raspored.

Poslužujte stranicu i njene zavisne resurse preko HTTPS-a. Preusmeravajte HTTP posetioce na HTTPS i razmotrite HSTS za implementaciju koja može dosledno da ga podržava. Samo preusmeravanje počinje nezaštićenom HTTP razmenom za posetioca koji je koristio HTTP URL; prethodno naučena ili unapred učitana HSTS politika menja taj početni izbor.

Blokiranje umetnute skripte može smanjiti njene vidljive efekte, ali odgovor već može sadržati izmenjeni HTML ili prepisane URL adrese slika. Zamena jednog starog naziva funkcije, dodavanje neobičnog komentara ili mapiranje istorijske adrese umetanja ne uspostavlja integritet sadržaja za sledećeg posrednika.

Kada istražujete prijavu, uporedite primljeni odgovor sa nameravanim sadržajem izvora i utvrdite gde TLS završava. Taj dokaz je korisniji od tretiranja svake nepoznate skripte kao greške u sopstvenom aplikacijskom kodu stranice.

Povezani članci