- Verschifft
- 20. August 2026 um 03:59 UTC
- Autor
- Kamo
- Ausschuss
- b34d847
Fügt die drei Kopfzeilen der Vertrauen und Sicherheit Audit gefragt, plus Referrer-Politik und Genehmigungen-Politik. Jeder Ursprung in der Politik wurde genommen von dem, was die Website tatsächlich lädt, anstatt zu erraten, das Chat-Widget-Bundle auf theme.kamocrm.com (die eine WebSocket für Medien öffnet. und ruft api. und capcha.), das analytische Skript auf Analytik., die HLS-Leiter des Helden, und die ***'s Herausforderung Endpunkt. Geprüft die gebaute Seite gegen die fertige Politik Ressource für Ressource: Null blockiert. ON script-src 'unsafe-inline' - das ist ein echter Kompromiss und es lohnt sich, dies zu sagen anstatt zu begraben. Die starke Form eines CSP ist ein pro-Antwort nonce mit "streng-dynamisch", und es ist nicht verfügbar: ein nonce bedeutet das Lesen von Headern() während des Renders, das die Route aus der statischen Erzeugung auswählt. Diese App hat 200 Pfund Vorgerenderte Routen und ihre Statik ist tragend - eine dynamische Route mit keine Ladenfläche prefetches nichts, so dass jeder Linkklick kalt beginnt. Dort ist auch kein hash-basierter Escape, denn die Inline-Skripte sind Nexts eigene RSC Flugdaten, deren Inhalt sich je und pro Build unterscheiden. Also: Dieser CSP stoppt NICHT ein injiziertes Inline-Skript. Was es tut, ist eng zu halten jede externe Skript, holen, Frame, Bild und Medienlast an bekannte Ursprünge, Verbot Plugins, Pin der Basis URI so injiziert Markup kann nicht wiederroot relative URLs und Stop-Formular-Posts an Dritte. TRUSTED TYPES brauchte drei Versuche, um sicher zu gehen, und die Ausfälle sind die interessanter Teil: 1. Eine einfache Inline <script&s zuerst im Layout <head's ist nicht first. Reagieren Hebt Next's "<script async src" Tags über alles, was das Layout wiedergibt, so die Politik landete nach zwölf von ihnen - und async Skripte führen die Moment, sie beenden das Herunterladen. Turbopacks Laufzeit ist dabei und tut es "createElement("script")" setzt dann "src", die exakte Spüle, die wirft ohne Politik. 2. "next/script" mit strategy="beforeInteractive" hat es auch nicht bewegt; noch zwölf Skripte vor sich. 3. Was es sicher macht, ist, dass kein Waschbecken so früh feuern kann. Alle 78 Flugdaten Drücker sind im Körper - zuerst im Offset 193,072, mit </head" bei 11.940 . so React kann nicht beginnen Hydratation, bis lange nach der Politik installiert ist, und es gibt keinen Senken-Touching-Code in <head" vor ihm. Verifiziert auf der gebautes HTML und nicht angenommen. Zwei Dinge wären zerbrochen, ohne dafür gegrenzbar zu sein. Das *** Widget ist ein Svelte bauen und schafft eine Politik namens "svelte-trusted-html"; ein Politikname ist ein Laufzeit-String, so dass nichts über sie Oberflächen in Arten, lint oder der Build, und Das Weglassen von der Genehmigungsliste hätte geworfen und den Kontakt und Demo genommen Formen nach unten. Und hls.js und die *** beide bauen Web-Arbeiter aus createObjectURL, so muss die Politik passieren "blob:" vor seiner Ursprungsprüfung blob: URL hat keine nützliche .origin und sonst hätte es versäumt, unter der Held Rolle mit ihm. Die Police createScriptURL wird gegen kamocrm.com, die streng ist überprüft freizügiger als Skript-Src, so dass es nie etwas verweigern kann, das CSP erlaubt. createHTML-Pässe durch und sämt NICHT: ein echter Sanitiser würde müssen auf dem kritischen Pfad Schiff und könnte lautlos mangle die JSON-LD-Blöcke und das Widget Markup. Diese Hälfte ist ein Chokepoint und ein Audit Haken, nicht ein filtern und es ist, wo als nächstes zu härten. Cross-Origin-Resource-Policy wurde geschrieben und dann entfernt. Übergangs gewandt Es deckt die Open Graph Bilder ab, die es speziell geben soll Eingebettet von anderen Ursprüngen. Frame-Ahnen ist 'selbst', um die X-Frame-Optionen zu entsprechen: SAMEORIGIN ist bereits serviert, anstatt sich zu "kein" zu straffen und eine Einbettung zu brechen, an die sich niemand erinnerte. Veredelt gegen den realen Standalone-Server, nicht nur die Konfiguration: Headers vorhanden sowohl auf einer vorgerenderten Route und einer *** Route, und die langlebige Anlage Cache-Control noch intakt.