Sicurezza Web Avanzata: Oltre le Basi
Sicurezza Web Avanzata: Oltre le Basi
I browser moderni forniscono potenti primitive di sicurezza. Padroneggiare queste funzionalità è essenziale per costruire applicazioni robuste resistenti a XSS, CSRF, clickjacking e supply chain attack.
Content Security Policy (CSP)
CSP è la difesa primaria contro XSS. Direttive: default-src, script-src, style-src, img-src, font-src, connect-src, frame-src, object-src, base-uri, form-action, frame-ancestors. Nonce: script-src 'nonce-{random}' per script inline. Hash: 'sha256-{hash}' per script inline statici. Strict-Dynamic: Fiducia script caricati da script fidati. Modalità Report-Only per test. Usa CSP Evaluator per audit.
Cross-Origin Resource Sharing (CORS)
Controlla quali origini possono accedere alle tue risorse. Header: Access-Control-Allow-Origin (origine specifica o *), Access-Control-Allow-Methods, Access-Control-Allow-Headers, Access-Control-Allow-Credentials (non usare * con credentials), Access-Control-Max-Age. Preflight (OPTIONS) per richieste non-simple. Configura correttamente - CORS mal configurato causa data leak.
Cross-Origin Opener Policy (COOP) & Cross-Origin Embedder Policy (COEP)
COOP: cross-origin-opener-policy: same-origin (isola browsing context) o same-origin-allow-popups. COEP: cross-origin-embedder-policy: require-corp (carica solo risorse con header CORP o CORS). Insieme abilitano: SharedArrayBuffer, performance.measureMemory(), timer alta risoluzione. Richiesti per WebAssembly thread e SIMD in alcuni contesti.
Subresource Integrity (SRI)
Garantisce che risorse terze non siano state manomesse.
