- Dikirim
- 20 Agustus 2026 pukul 03.59 UTC
- Penulis
- Kamo
- Commit
- b34d847
Tambahkan tiga header Audit Kepercayaan dan Keselamatan diminta, ditambah Referrer- Kebijakan dan Permiis- Kebijakan. Setiap asal kebijakan diambil dari apa yang situs sebenarnya dimuat daripada menduga - bundle widget obrolan pada theme.kamocrm.com (yang membuka WebSocket ke media. dan memanggil api. dan capcha.), script analitik pada analitis, tangga HLS pahlawan, dan * * * 's tantangan titik akhir. Audited halaman dibangun terhadap kebijakan selesai sumber daya dengan sumber daya: nol diblokir. ON script- src 'unsafe- inline' - ini adalah nyata kompromi dan layak menyatakan daripada mengubur. Bentuk kuat dari CSP adalah per response nonce dengan 'stric-dynamic', dan tidak tersedia di sini: sebuah nonce berarti header membaca () selama render, yang memilih rute keluar dari generasi statis. Aplikasi ini memiliki ~ 200 rute prerendered dan mereka menjadi statis adalah load- bearing - rute dinamis dengan tidak ada batas loading prefetches apa-apa, sehingga setiap klik link mulai dingin. Ada juga bukan hash-based escape, karena script inline Next 's sendiri RSC data penerbangan, yang isinya berbeda per halaman dan per bangunan. Jadi: CSP ini TIDAK menghentikan skrip inline yang disuntikkan. Apa yang dilakukannya adalah membatasi setiap skrip eksternal, fetch, frame, image dan media beban ke asal yang dikenal, plugin dilarang, pin URI dasar sehingga markup disuntikkan tidak dapat re- root relatif URL, dan berhenti posting formulir ke pihak ketiga. TIPES TRUSTED mengambil tiga upaya untuk membuat aman, dan kegagalan adalah bagian yang menarik: 1. Sebuah inline polos < script > pertama di tata letak < head > bukan yang pertama. Bereaksi hoists Next '< script async src >' tag di atas apa pun render tata letak, sehingga kebijakan mendarat setelah dua belas dari mereka - dan async script mengeksekusi saat mereka selesai mengunduh. Waktu lama Turbopack adalah di antara mereka dan tidak 'createElement ("script")' then set '.src', the exact sink that throw tanpa kebijakan. 2. 'next / script' dengan strategi = "before Interactive" tidak memindahkannya baik; Masih 12 script di depan. Apa yang membuatnya aman adalah bahwa tidak ada wastafel dapat api yang awal. Semua 78 data penerbangan Tekanan berada di tubuh - pertama di offset 193.072, dengan < / head > di 11.940 - sehingga React tidak dapat mulai hydrating sampai baik setelah kebijakan dipasang, dan tidak ada kode sink- menyentuh dalam < head > sebelum itu. Verifikasi pada dibangun HTML daripada diasumsikan. Dua hal akan rusak tanpa harus disuap. Widget * * * adalah Svelte build dan menciptakan kebijakan bernama 'svelte- trust -html'; nama kebijakan adalah benang waktu jalan, sehingga tidak ada tentang itu permukaan dalam tipe, benang atau membangun, dan abaikan dari allow- list akan dilemparkan dan diambil kontak dan demo bentuk bawah. Dan hls.js dan * * * keduanya membangun Pekerja Web dari createObjectURL, sehingga kebijakan harus melewati 'blob:' sebelum tes asal - sebuah blob: URL tidak memiliki .earth berguna dan jika tidak akan gagal, mengambil hero reel dengan itu. URL createSkrip Kebijakan diperiksa terhadap kamocrm.com, yang secara ketat lebih tegas daripada script-src, sehingga tidak pernah dapat menolak sesuatu yang CSP memungkinkan. createHTML melewati dan TIDAK sanitise: sebuah saniser nyata akan harus kapal di jalur kritis dan bisa diam-diam memotong blok JSON- LD dan markup widget. Setengah itu adalah chokepoint dan hook audit, bukan filter - dan itu adalah di mana untuk mengeras berikutnya. Cross- Original- Sumber Daya - Kebijakan ditulis dan kemudian dihapus. Applied across '/: path *' it covered the Open Graph images, which excidently to be tertanam dari asal lain. frame- nenek moyang adalah 'self' untuk mencocokkan pilihan X- Frame-: SAMEORIGIN sudah menjadi dilayani, daripada ketat ke 'none' dan melanggar embed tidak ada yang ingat. Diverifikasi terhadap server standalone yang sebenarnya, bukan hanya konfig: header yang ada pada kedua rute prerendered dan * * * * rute, dan aset lama hidup Cache-Kontrol masih utuh.