En proxy som omformer innhold kan endre et svar på vei til nettleseren: rekomprimere et bilde, skrive om markup eller sette inn støttende JavaScript. En side som fungerer på ett nettverk og får ukjent markup på et annet, kan møte nettopp denne mellommannens oppførsel.

For et nettsted du driver, gir HTTP et uttrykkelig svardirektiv:

Cache-Control: no-transform

RFC 9111 krever at en mellommann som mottar dette svardirektivet lar innholdet være uomformet, enten mellommannen implementerer en hurtigbuffer eller ikke. Det er relevant for bildekomprimering og innsetting av markup, ikke bare for om et objekt lagres.

Behold det sammen med den eksisterende hurtigbufferpolicyen

Hvis et svar allerede har hurtigbufferdirektiver, legg til kravet bevisst i stedet for å forkaste resten av policyen. For eksempel kan en offentlig hurtigbufferbar ressurs ha:

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

Dette eksemplet bevarer en ferskhetspolicy på én time samtidig som det forbyr innholdsomforming. no-transform betyr ikke no-store og deaktiverer ikke vanlig overføringsbehandling. Sett det på svarene der det opprinnelige innholdet betyr noe, inkludert separate bildesvar der det er hensiktsmessig.

Direktivet virker gjennom mellommannens etterlevelse. Det hindrer ikke kryptografisk at en nettverksenhet ignorerer instruksjonen.

Beskytt også transporten

HTTPS gir nettleseren en forbindelse med autentisering og integritetsbeskyttelse til sin TLS-motpart. En vanlig operatørproxy som slipper gjennom kryptert trafikk kan ikke i stillhet sette inn et skript i den beskyttede forbindelsen. Behold sertifikatverifiseringen; en lokalt klarert inspeksjonsproxy som terminerer TLS er en annen ordning.

Server siden og dens avhengige ressurser over HTTPS. Omdiriger HTTP-besøkende til HTTPS, og vurder HSTS for en utrulling som konsekvent kan støtte det. En omdirigering alene begynner med en ubeskyttet HTTP-utveksling for en besøkende som brukte en HTTP-URL; en tidligere lært eller forhåndslastet HSTS-policy endrer det første valget.

Blokkering av et innsatt skript kan redusere de synlige effektene, men svaret kan allerede inneholde endret HTML eller omskrevne bilde-URL-er. Å erstatte ett gammelt funksjonsnavn, legge til en uvanlig kommentar eller kartlegge en historisk innsettingsadresse etablerer ikke innholdsintegritet for den neste mellommannen.

Når du undersøker en rapport, sammenlign det mottatte svaret med opprinnelsens tiltenkte innhold og identifiser hvor TLS terminerer. Det beviset er nyttigere enn å behandle hvert ukjent skript som en feil i nettstedets egen applikasjonskode.

Relaterte artikler