'n Herformerende proxy kan 'n antwoord verander op pad na die blaaier: 'n beeld herkomprimeer, opmaak herskryf of ondersteunende JavaScript invoeg. 'n Bladsy wat op een netwerk werk en op 'n ander onbekende opmaak kry, kom moontlik daardie tussenganger-gedrag teë.

Vir 'n webwerf wat jy bedryf, bied HTTP 'n eksplisiete antwoorddirektief:

Cache-Control: no-transform

RFC 9111 vereis dat 'n tussenganger wat hierdie antwoorddirektief ontvang die inhoud onveranderd laat, ongeag of daardie tussenganger 'n kas implementeer. Dit is relevant vir beeldherkomprimering en opmaakinspuiting, nie net vir of 'n objek gestoor word nie.

Hou dit by die bestaande kasbeleid

As 'n antwoord reeds kasdirektiewe het, voeg die vereiste doelbewus by eerder as om die res van die beleid te verwerp. Byvoorbeeld, 'n publiek kasbare bate kan hê:

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

Hierdie voorbeeld behou 'n een-uur varsheidsbeleid terwyl inhoudhervorming verbied word. no-transform impliseer nie no-store nie en skakel nie gewone oordragverwerking af nie. Stel dit op die antwoorde waarvan die oorspronklike inhoud saak maak, insluitend aparte beeldantwoorde waar toepaslik.

Die direktief werk deur die nakoming van 'n tussenganger. Dit verhoed nie kriptografies dat 'n netwerktuig die instruksie ignoreer nie.

Beskerm ook die vervoer

HTTPS gee die blaaier 'n verbinding met verifikasie en integriteitsbeskerming na sy TLS-eweknie. 'n Gewone draerproxy wat versleutelde verkeer deurlaat, kan nie stilweg 'n script in daardie beskermde verbinding invoeg nie. Hou sertifikaatverifikasie in plek; 'n plaaslik vertroude inspeksieproxy wat TLS termineer, is 'n ander reëling.

Dien die bladsy en sy afhanklike hulpbronne oor HTTPS. Herlei HTTP-besoekers na HTTPS, en oorweeg HSTS vir 'n ontplooiing wat dit konsekwent kan ondersteun. 'n Herleiding alleen begin met 'n onbeskermde HTTP-uitruiling vir 'n besoeker wat 'n HTTP-URL gebruik het; 'n voorheen geleerde of voorafgelaaide HSTS-beleid verander daardie aanvanklike keuse.

Om 'n ingevoegde script te blokkeer kan die sigbare uitwerking daarvan verminder, maar die antwoord kan reeds veranderde HTML of herskryfde beeld-URL's bevat. Om een ou funksienaam te vervang, 'n ongewone opmerking by te voeg of 'n historiese inspuitadres te karteer, vestig nie inhoudintegriteit vir die volgende tussenganger nie.

Wanneer jy 'n verslag ondersoek, vergelyk die ontvangde antwoord met die oorsprong se bedoelde inhoud en identifiseer waar TLS termineer. Daardie bewyse is nuttiger as om elke onbekende script as 'n fout in die webwerf se eie toepassingskode te behandel.

Verwante artikels