Proxy yang mentransformasi konten dapat mengubah respons dalam perjalanan ke browser: mengompresi ulang gambar, menulis ulang markup, atau menyisipkan JavaScript pendukung. Halaman yang berfungsi di satu jaringan dan menerima markup tak dikenal di jaringan lain mungkin sedang menghadapi perilaku perantara itu.

Untuk situs yang Anda kelola, HTTP menyediakan direktif respons yang eksplisit:

Cache-Control: no-transform

RFC 9111 mewajibkan perantara yang menerima direktif respons ini membiarkan konten tidak ditransformasi, baik perantara tersebut menerapkan cache maupun tidak. Ini relevan untuk kompresi ulang gambar dan penyisipan markup, bukan hanya untuk apakah suatu objek disimpan.

Pertahankan bersama kebijakan cache yang ada

Jika respons sudah memiliki direktif cache, tambahkan persyaratan itu dengan sengaja alih-alih membuang sisa kebijakan. Misalnya, aset yang dapat di-cache secara publik mungkin memiliki:

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

Contoh ini mempertahankan kebijakan kesegaran satu jam sekaligus melarang transformasi konten. no-transform tidak berarti no-store dan tidak menonaktifkan pemrosesan transfer biasa. Tetapkan pada respons yang konten aslinya penting, termasuk respons gambar terpisah bila sesuai.

Direktif ini bekerja melalui kepatuhan perantara. Ini tidak secara kriptografis mencegah perangkat jaringan mengabaikan instruksi tersebut.

Lindungi juga transportasinya

HTTPS memberi browser koneksi dengan autentikasi dan perlindungan integritas ke rekan TLS-nya. Proxy operator biasa yang meneruskan lalu lintas terenkripsi tidak dapat diam-diam menyisipkan skrip ke koneksi yang dilindungi itu. Pertahankan verifikasi sertifikat; proxy inspeksi tepercaya lokal yang mengakhiri TLS adalah pengaturan berbeda.

Sajikan halaman dan sumber daya terkaitnya melalui HTTPS. Alihkan pengunjung HTTP ke HTTPS, dan pertimbangkan HSTS untuk penerapan yang dapat mendukungnya secara konsisten. Pengalihan saja dimulai dengan pertukaran HTTP yang tidak terlindungi bagi pengunjung yang menggunakan URL HTTP; kebijakan HSTS yang dipelajari sebelumnya atau dimuat lebih awal mengubah pilihan awal itu.

Memblokir skrip yang disisipkan dapat mengurangi efek yang terlihat, tetapi respons mungkin sudah berisi HTML yang berubah atau URL gambar yang ditulis ulang. Mengganti satu nama fungsi lama, menambahkan komentar tak biasa, atau memetakan alamat penyisipan historis tidak menetapkan integritas konten untuk perantara berikutnya.

Saat menyelidiki laporan, bandingkan respons yang diterima dengan konten yang dimaksudkan dari sumbernya dan identifikasi di mana TLS berakhir. Bukti itu lebih berguna daripada memperlakukan setiap skrip tak dikenal sebagai kesalahan pada kode aplikasi situs itu sendiri.

Artikel terkait