Servește un CSP adevărat la cerere cu o dinamică strictă

Featurekamo-marketing
Shipped
20 august 2026 la 05:20 UTC
Author
Kamo
Commit
3271922

Șterge ambele constatări importante rămase pe script-src: "nesigur-inline" unul și "Host permislists pot fi ocolite frecvent." Doar o nonce cu "strict-dinamică" șterge cele, și Next nu poate furniza unul pe o preranded page în timp ce redarea, și un traseu pre-randat este servit de la cache-ul de rută completă fără redare. Lucrul documentat este de a face fiecare traseu dinamic, care ar anula redarea statică acest site depinde de și colaps <Link> Prefă-te într-un copac gol. Deci, nonce este aplicat în cazul în care octeți părăsesc procesul. server-nonce.js pornește serverul independent pe loopback, servește portul public în sine, și timbre fiecare Răspuns HTML pe cale de ieșire. Apoi continuă să se predea și continuă să servească de la ei cache-ul propriu; măsurat prin ambalaj, /en / previzionarea încă prefetele 77,521 bytes cu 23 de referințe și răspunsuri x-nextjs-cache: HIT. Redare statică şi un adevărat nonce rotativ, ambele. "strict-dinamic" este ceea ce retrage găsirea permis: browserele ignoră gazda permise sub ea și scripturi de încredere create de script-uri deja încredere. ă widget chat și tracker analytics sunt injectate de următoarea / script la termen, astfel încât acestea sunt de încredere tranzitiv și nu au nevoie de nici o intrare permis. 'nesigur-inline' și https: rămâne doar ca rezervă documentată pentru browsere prea vechi pentru a înțelege nonce, care nu ignoră şi nu primesc nimic înainte. Trei lucruri acest lucru a apărut, dintre care nu ar fi fost vizibile de la config: · Transmiterea cererii CSP în amonte este o capcană. Apoi citeşte o nimica toată. şi ştampile propriile script-uri cu nonce coapte în, astfel încât fiecare vizitator mai târziu devine 96 etichete care transportă un mort Nonce. La 'strict-dinamic', un obiect vechi nu se degradează, acesta blochează: a pagina goală până la expirarea intrării. Cererea CSP este deposedată și orice atribut non-existent este eliminat înainte de ștampilare. · Rescrierea gazdei în amonte pentru a rupe redirecționări. Următoarea clădire URL-uri de redirecționare absolută de la gazdă, așa că a răspuns Locul: http://localhost:41337/en. Gazda este transmisă neschimbat, și o redirecționare îndreptată spre propria noastră buclă este prăbușită pe o cale ca asigurare. Compresia trebuia să se mişte. Upstream este cerut pentru identitate astfel încât HTML poate fi rescris fără un decompress/recompress dus-întors, și ambalajul re-compress împotriva a 56,324 gzip servit înainte. script-uri / script-csp-nonce.mjs deține sfârșitul contractului pentru a încheia pe fiecare clădire: cizme aplicaţia construită din spatele ambalajului şi afirmă că antetul poartă un suport şi "strict-dinamic," că fiecare tag script poartă un nonce, că toate acestea sunt Acest răspuns este, și că se rotește între cereri. Ea a prins cache-nonce Bug pe prima rula. O valoare fixă ar satisface auditul în timp ce este lizibil De către oricine, astfel încât verificarea de rotație este punctul mai degrabă decât o formalitate. Cerere de memorie 128Mi - > 256Mi: HTML este tamponat pentru a fi ştampilat, astfel încât memoria de vârf acum solzi cu cereri HTML concurente în loc de a sta plat.

All changes

Ca ceea ce vezi de transport maritim?

Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.

Pornește gratuit pentru totdeaunaVezi prețurile