Servis per- permintaan nyata CSP nonce dengan strict- dinamis

Featurekamo-marketing
Dikirim
20 Agustus 2026 pukul 05.20 UTC
Penulis
Kamo
Commit
3271922

Menghapus kedua temuan High tersisa pada script-src: 'unsafe- inline' satu dan "host allowlist sering dapat dilewati." Hanya nonce dengan 'strikdynamic' membersihkan mereka, dan Berikutnya tidak dapat memasok satu pada halaman prerendered - sebuah nonce harus unik per respon, jadi Berikutnya memancarkan satu saja sambil merender, dan rute prerendered disajikan dari penuh-rute cache tanpa rendering. Jalan memutar yang didokumentasikan adalah untuk membuat setiap rute dinamis, yang akan membatalkan rendering statis situs ini tergantung pada dan runtuhnya < Link > prefetch ke pohon rute telanjang. Jadi nonce diterapkan dimana byte meninggalkan proses. server- nonce.js dimulai server standalone pada loopback, melayani port publik itu sendiri, dan perangko masing-masing Respon HTML saat keluar. Berikutnya terus mengusut dan terus melayani dari nya cache sendiri; diukur melalui pembungkus, / en / harga masih prefetches 77.521 bytes dengan 23 referensi potongan dan jawaban x-nextjs- cache: HIT. Rendering statik dan benar-benar berputar sekali, keduanya. 'stric-dynamic' adalah apa yang pensiun pencarian allowlist: peramban mengabaikan host allowlist di bawahnya dan script kepercayaan dibuat oleh script yang sudah dipercaya. The widget obrolan dan pelacak analitik disuntikkan oleh next / script di waktu-jalan, jadi mereka dipercaya secara transitif dan perlu tidak ada entri allowlist sama sekali. 'unsafe- inline' dan https: tetap hanya sebagai fallback terdokumentasi untuk browser terlalu tua untuk memahami nonces, yang mengabaikan baik dan mendapatkan apa-apa sebelumnya. Tiga hal ini muncul, tidak ada yang akan terlihat dari config: Meneruskan permintaan CSP upstream adalah jebakan. Berikutnya membaca nonce keluar dari itu dan perangko script sendiri - maka yang render masuk ke singgahan rute penuh - dengan nonce dipanggang di, sehingga setiap pengunjung kemudian mendapat 96 tag membawa mati nonce. Under 'stric-dynamic' a stale nonce does not degrade, it blocks: a halaman kosong sampai entri berakhir. Permintaan CSP dibatalkan, dan atribut pre- ada yang dihapus sebelum stamping. Menulis ulang Host di hulu untuk melihat ke belakang. Berikutnya membangun URL redirect absolut dari Host, jadi '/' menjawab 'Lokasi: http: / / localhost: 41337 / en'. Host diteruskan tidak berubah, dan sebuah redirect menunjuk kita sendiri Loopback runtuh ke jalan sebagai asuransi. Kompresi harus bergerak. Upstream menanyakan identitas sehingga HTML dapat ditulis ulang tanpa dekompresi / recompress round trip, dan pembungkus re- kompres - brotli di mana klien membawanya, yang 30,177 bytes melawan 56,324 gzip yang disajikan sebelumnya. skrip / check-csp-nonce.mjs memegang kontrak akhir untuk mengakhiri setiap build: boots aplikasi dibangun di belakang pembungkus dan menegaskan header membawa sebuah nonce dan 'stric-dynamic', bahwa setiap tag skrip membawa nonce, bahwa mereka semua bahwa respon, dan bahwa itu berputar antara permintaan. It cached- nonce bug pada lari pertama. A tetap nonce akan memuaskan audit saat menjadi dapat dibaca oleh siapa pun, sehingga pemeriksaan rotasi adalah titik daripada formalitas. Permintaan memori 128Mi - > 256Mi: HTML distempel untuk dicap, jadi puncak memori sekarang skala dengan permintaan HTML concurt daripada duduk datar.

Semua perubahan

Seperti apa yang Anda lihat pengiriman?

Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.

Mulai Bebas SelamanyaTampilkan Harga