Proxy, ktoré transformuje obsah, môže zmeniť odpoveď na ceste k prehliadaču: prekomprimovať obrázok, prepísať značkovanie alebo vložiť podporný JavaScript. Stránka, ktorá funguje v jednej sieti a v inej získa neznáme značkovanie, sa môže stretávať práve s týmto správaním prostredníka.

Pre web, ktorý prevádzkujete, poskytuje HTTP výslovnú direktívu odpovede:

Cache-Control: no-transform

RFC 9111 vyžaduje, aby prostredník, ktorý túto direktívu odpovede dostane, ponechal obsah netransformovaný, či už implementuje vyrovnávaciu pamäť alebo nie. Týka sa to prekomprimovania obrázkov a vkladania značkovania, nielen toho, či bude objekt uložený.

Zachovajte ju spolu s existujúcou politikou vyrovnávacej pamäte

Ak má odpoveď už direktívy vyrovnávacej pamäte, pridajte požiadavku zámerne namiesto toho, aby ste zvyšok politiky zahodili. Napríklad verejne ukladateľný majetok môže mať:

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

Tento príklad zachováva politiku čerstvosti jednej hodiny a zároveň zakazuje transformáciu obsahu. no-transform neznamená no-store ani nevypína bežné spracovanie prenosu. Nastavte ju na odpovede, ktorých pôvodný obsah je dôležitý, vrátane samostatných odpovedí s obrázkami, kde je to vhodné.

Direktíva funguje prostredníctvom dodržiavania zo strany prostredníka. Kryptograficky nezabraňuje sieťovému zariadeniu ignorovať pokyn.

Chráňte aj prenos

HTTPS dáva prehliadaču spojenie s overovaním a ochranou integrity voči svojmu partnerovi TLS. Bežná proxy operátora, ktorá prepúšťa šifrovanú prevádzku, nemôže do tohto chráneného spojenia potichu vložiť skript. Ponechajte overovanie certifikátov zapnuté; lokálne dôveryhodná inšpekčná proxy, ktorá ukončuje TLS, je iné usporiadanie.

Servírujte stránku a jej závislé zdroje cez HTTPS. Presmerujte návštevníkov HTTP na HTTPS a zvážte HSTS pre nasadenie, ktoré ho dokáže dôsledne podporovať. Samotné presmerovanie začína nechránenou výmenou HTTP pre návštevníka, ktorý použil URL HTTP; skôr naučená alebo vopred načítaná politika HSTS tento počiatočný výber mení.

Blokovanie vloženého skriptu môže obmedziť jeho viditeľné účinky, ale odpoveď už môže obsahovať zmenený HTML alebo prepísané URL obrázkov. Nahradenie jedného starého názvu funkcie, pridanie neobvyklého komentára alebo namapovanie historickej adresy vkladania nepreukazuje integritu obsahu pre ďalšieho prostredníka.

Pri vyšetrovaní hlásenia porovnajte prijatú odpoveď so zamýšľaným obsahom pôvodu a určite, kde TLS končí. Tento dôkaz je užitočnejší než považovať každý neznámy skript za chybu vo vlastnom kóde aplikácie webu.

Súvisiace články