Scopri di più sulle intestazioni che possono proteggere il tuo sito e cercare rapidamente i dettagli più importanti.
Questo articolo elenca le intestazioni di sicurezza più importanti che puoi utilizzare per proteggere il tuo sito web. Utilizzalo per comprendere le funzionalità di sicurezza basate sul web, imparare a implementarle sul tuo sito web e come riferimento quando hai bisogno di un promemoria.
- Intestazioni di sicurezza consigliate per i siti web che gestiscono dati utente sensibili:
- Content Security Policy (CSP)
- Trusted Types
- Intestazioni di sicurezza consigliate per tutti i siti web:
- X-Content-Type-Options
- X-Frame-Options
- Cross-Origin Resource Policy (CORP)
- Cross-Origin Opener Policy (COOP)
- HTTP Strict Transport Security (HSTS)
- Intestazioni di sicurezza per siti web con funzionalità avanzate:
- Condivisione delle risorse tra origini (CORS)
- Cross-Origin Embedder Policy (COEP)
Prima di entrare nel dettaglio delle intestazioni di sicurezza, scopri le minacce note sul web e perché dovresti utilizzare queste intestazioni di sicurezza.
Proteggere il sito dalle vulnerabilità di iniezione
Le vulnerabilità di iniezione si verificano quando i dati non attendibili elaborati dalla tua applicazione possono influire sul suo comportamento e, in genere, portare all'esecuzione di script controllati da un malintenzionato. La vulnerabilità più comune causata da bug di iniezione è il cross-site scripting (XSS) nelle sue varie forme, tra cui XSS riflesso, XSS memorizzato, XSS basato su DOM e altre varianti.
Una vulnerabilità XSS può in genere dare a un malintenzionato l'accesso completo ai dati utente elaborati dall'applicazione e a qualsiasi altra informazione ospitata nella stessa origine web.
Le difese tradizionali contro le iniezioni includono l'uso coerente di sistemi di modelli HTML con escape automatico, l'evitare l'uso di API JavaScript pericolose e l'elaborazione corretta dei dati utente ospitando i caricamenti di file in un dominio separato e sanificando l'HTML controllato dall'utente.
- Utilizza Content Security Policy (CSP) per controllare quali script possono essere eseguiti dalla tua applicazione per ridurre il rischio di iniezioni.
- Utilizza Trusted Types per applicare la sanificazione dei dati passati a pericolose API JavaScript.
- Utilizza X-Content-Type-Options per impedire al browser di interpretare erroneamente i tipi MIME delle risorse del tuo sito web, il che può portare a all'esecuzione di script.
Isolare il tuo sito da altri siti web
L'apertura del web consente ai siti web di interagire tra loro in modi che possono violare le aspettative di sicurezza di un'applicazione. Ciò include l'esecuzione imprevista di richieste autenticate o l'incorporamento di dati da un'altra applicazione nel documento dell'attaccante, consentendo a quest'ultimo di modificare o leggere i dati dell'applicazione.
Le vulnerabilità comuni che compromettono l'isolamento web includono clickjacking, cross-site request forgery (CSRF), cross-site script inclusion (XSSI) e varie perdite cross-site.
- Utilizza X-Frame-Options per impedire l'incorporamento dei tuoi documenti da parte di un sito web dannoso.
- Utilizza Cross-Origin Resource Policy (CORP) per impedire che le risorse del tuo sito web vengano incluse da un sito web multiorigine.
- Utilizza la policy COOP (Cross-Origin-Opener-Policy) per proteggere le finestre del tuo sito web dalle interazioni di siti web dannosi.
- Utilizza la condivisione delle risorse tra origini (CORS) per controllare l'accesso alle risorse del tuo sito web da documenti multiorigine.
Post-Spectre Web Development è un'ottima lettura se ti interessano questi header.
Crea un sito web potente in modo sicuro
Spectre rende potenzialmente leggibili tutti i dati caricati
nello stesso gruppo di contesti di navigazione
nonostante i criteri di stessa origine. I browser limitano le funzionalità
che potrebbero sfruttare la vulnerabilità alla base di un ambiente speciale chiamato
"isolamento cross-origin". Con l'isolamento cross-origin, puoi
utilizzare funzionalità avanzate come SharedArrayBuffer.
- Utilizza la policy sull'incorporamento multiorigine (COEP) insieme a COOP per attivare l'isolamento multiorigine.
Criptare il traffico verso il tuo sito
I problemi di crittografia si verificano quando un'applicazione non cripta completamente i dati in transito, consentendo agli aggressori che intercettano le comunicazioni di conoscere le interazioni dell'utente con l'applicazione.
Una crittografia insufficiente può verificarsi nei seguenti casi: mancato utilizzo di HTTPS,
contenuti misti, impostazione di cookie senza l'attributo Secure
(o il prefisso __Secure),
o logica di convalida CORS lassista.
- Utilizza HTTP Strict Transport Security (HSTS) per pubblicare in modo coerente i tuoi contenuti tramite HTTPS.
Policy di sicurezza del contenuto (CSP)
Il cross-site scripting (XSS) è un attacco in cui una vulnerabilità di un sito web consente l'inserimento e l'esecuzione di uno script dannoso.
Content-Security-Policy fornisce un ulteriore livello per mitigare gli attacchi XSS limitando gli script che possono essere eseguiti dalla pagina.
Ti consigliamo di attivare la CSP restrittiva utilizzando uno dei seguenti approcci:
- Se esegui il rendering delle pagine HTML sul server, utilizza una CSP rigida basata su nonce.
- Se il codice HTML deve essere pubblicato in modo statico o memorizzato nella cache, ad esempio se si tratta di un'applicazione a una sola pagina, utilizza una CSP rigida basata su hash.
Esempio di utilizzo: una CSP basata su nonce
Content-Security-Policy:
script-src 'nonce-{RANDOM1}' 'strict-dynamic' https: 'unsafe-inline';
object-src 'none';
base-uri 'none';
Utilizzi consigliati
1. Utilizzare una CSP rigida basata su nonce {: #nonce-based-csp}
Se esegui il rendering delle pagine HTML sul server, utilizza una CSP rigida basata su nonce.
Genera un nuovo valore nonce dello script per ogni richiesta lato server e imposta il seguente header:
file di configurazione del server
Content-Security-Policy: script-src 'nonce-{RANDOM1}' 'strict-dynamic' https: 'unsafe-inline'; object-src 'none'; base-uri 'none';
In HTML, per caricare gli script, imposta l'attributo nonce di tutti i tag <script> sulla stessa stringa {RANDOM1}.
index.html
<script nonce="{RANDOM1}" src="https://example.com/script1.js"></script>
<script nonce="{RANDOM1}">
// Inline scripts can be used with the <code>nonce</code> attribute.
</script>Google Foto è un buon esempio di CSP rigorosa basata su nonce. Utilizza DevTools per vedere come viene utilizzato.
2. Utilizza una CSP restrittiva basata su hash {: #hash-based-csp}
Se il codice HTML deve essere pubblicato staticamente o memorizzato nella cache, ad esempio se stai creando un'applicazione a pagina singola, utilizza una CSP rigida basata su hash.
file di configurazione del server
Content-Security-Policy: script-src 'sha256-{HASH1}' 'sha256-{HASH2}' 'strict-dynamic' https: 'unsafe-inline'; object-src 'none'; base-uri 'none';
In HTML, devi incorporare gli script per applicare una norma basata sull'hash, perché la maggior parte dei browser non supporta l'hashing di script esterni.
index.html
<script> ...// your script1, inlined </script> <script> ...// your script2, inlined </script>
Per caricare script esterni, leggi "Caricare dinamicamente gli script di origine" nella sezione Opzione B: intestazione di risposta CSP basata sull'hash.
CSP Evaluator è un buon strumento per valutare il tuo CSP, ma allo stesso tempo un buon esempio di CSP rigoroso basato su nonce. Utilizza DevTools per vedere come viene utilizzato.
Browser supportati
Altri aspetti da considerare in merito al CSP
frame-ancestorsprotegge il tuo sito dal clickjacking, un rischio che si presenta se consenti a siti non attendibili di incorporare il tuo. Se preferisci una soluzione più semplice, puoi utilizzareX-Frame-Optionsper bloccare il caricamento, maframe-ancestorsti offre una configurazione avanzata per consentire solo origini specifiche come incorporatori.- Potresti aver utilizzato una CSP per assicurarti che tutte le risorse del tuo sito vengano caricate tramite HTTPS. Questo è diventato meno pertinente: al giorno d'oggi, la maggior parte dei browser blocca i contenuti misti.
- Puoi anche impostare un CSP in modalità solo report.
- Se non riesci a impostare una CSP come intestazione lato server, puoi impostarla anche come meta tag. Tieni presente che non puoi utilizzare la modalità solo report per i metatag (anche se questa impostazione potrebbe cambiare).
Scopri di più
Trusted Types
L'XSS basata sul DOM è un attacco in cui vengono passati dati dannosi a un sink che supporta l'esecuzione di codice dinamico come eval() o .innerHTML.
I tipi attendibili forniscono gli strumenti per scrivere, rivedere la sicurezza e gestire applicazioni prive di DOM XSS. Possono essere abilitati tramite CSP e rendere il codice JavaScript sicuro per impostazione predefinita limitando le API web pericolose in modo che accettino solo un oggetto speciale: un tipo attendibile.
Per creare questi oggetti, puoi definire policy di sicurezza in cui puoi assicurarti che le regole di sicurezza (come l'escape o la sanificazione) vengano applicate in modo coerente prima che i dati vengano scritti nel DOM. Queste norme sono quindi gli unici punti nel codice che potrebbero potenzialmente introdurre DOM XSS.
Esempi di utilizzo
Content-Security-Policy: require-trusted-types-for 'script'
// Feature detection
if (window.trustedTypes && trustedTypes.createPolicy) {
// Name and create a policy
const policy = trustedTypes.createPolicy('escapePolicy', {
createHTML: str => {
return str.replace(/\</g, '<').replace(/>/g, '>');
}
});
}
// Assignment of raw strings is blocked by Trusted Types.
el.innerHTML = 'some string'; // This throws an exception.
// Assignment of Trusted Types is accepted safely.
const escaped = policy.createHTML('<img src=x onerror=alert(1)>');
el.innerHTML = escaped; // '&lt;img src=x onerror=alert(1)&gt;'
Utilizzi consigliati
-
Applica Trusted Types per i sink DOM pericolosi Intestazione CSP e Trusted Types:
Content-Security-Policy: require-trusted-types-for 'script'Attualmente
'script'è l'unico valore accettabile per la direttivarequire-trusted-types-for.Naturalmente, puoi combinare i tipi attendibili con altre direttive CSP:
Unione di una CSP basata su nonce da sopra con Trusted Types:
Content-Security-Policy:
script-src 'nonce-{RANDOM1}' 'strict-dynamic' https: 'unsafe-inline';
object-src 'none';
base-uri 'none';
require-trusted-types-for 'script';
<aside class="note"><b>Nota: </b> puoi limitare i nomi dei criteri Trusted Types consentiti impostando una direttiva <code>trusted-types</code> aggiuntiva (ad esempio, <code>trusted-types myPolicy</code>). Tuttavia, non è un requisito. </aside>
-
Definisci una policy
Norme:
// Feature detection if (window.trustedTypes && trustedTypes.createPolicy) { // Name and create a policy const policy = trustedTypes.createPolicy('escapePolicy', { createHTML: str => { return str.replace(/\/g, '>'); } }); }
-
Applica la policy
Utilizza la policy quando scrivi dati nel DOM:
// Assignment of raw strings are blocked by Trusted Types. el.innerHTML = 'some string'; // This throws an exception.</p> <p>// Assignment of Trusted Types is accepted safely. const escaped = policy.createHTML('<img src="x" onerror="alert(1)">'); el.innerHTML = escaped; // '<img src=x onerror=alert(1)>'
Con
require-trusted-types-for 'script', l'utilizzo di un tipo attendibile è un requisito. L'utilizzo di qualsiasi API DOM pericolosa con una stringa genererà un errore.
Browser supportati
Scopri di più
- Prevenire le vulnerabilità di cross-site scripting basate su DOM con Trusted Types
- CSP: require-trusted-types-for - HTTP | MDN
- CSP: trusted-types - HTTP | MDN
- Demo di Trusted Types: apri lo strumento di controllo DevTools e scopri cosa sta succedendo
X-Content-Type-Options
Quando un documento HTML dannoso viene pubblicato dal tuo dominio (ad esempio, se un'immagine caricata in un servizio di foto contiene un markup HTML valido), alcuni browser lo considerano un documento attivo e consentono l'esecuzione di script nel contesto dell'applicazione, il che porta a un bug di cross-site scripting.
X-Content-Type-Options: nosniff lo impedisce comunicando al browser che
il tipo MIME impostato nell'intestazione
Content-Type per una determinata risposta è corretto. Questa intestazione è
consigliata per tutte le tue risorse.
Esempio di utilizzo
X-Content-Type-Options: nosniff
Utilizzi consigliati
X-Content-Type-Options: nosniff è consigliato per tutte le risorse pubblicate dal tuo server insieme all'intestazione Content-Type corretta.
Esempio di intestazioni inviate con un documento HTML
X-Content-Type-Options: nosniff Content-Type: text/html; charset=utf-8
Browser supportati
Scopri di più
X-Frame-Options
Se un sito web dannoso può incorporare il tuo sito come iframe, ciò potrebbe consentire agli aggressori di richiamare azioni non intenzionali da parte dell'utente con il clickjacking. Inoltre, in alcuni casi gli attacchi di tipo Spectre danno ai siti web dannosi la possibilità di conoscere i contenuti di un documento incorporato.
X-Frame-Options indica se un browser deve essere autorizzato a eseguire il rendering
di una pagina in un <frame>, <iframe>, <embed> o <object>. Tutti i documenti
consigliano di inviare questa intestazione per indicare se consentono l'incorporamento
da parte di altri documenti.
Esempio di utilizzo
X-Frame-Options: DENY
Utilizzi consigliati
Tutti i documenti non progettati per essere incorporati devono utilizzare l'intestazione X-Frame-Options.
Puoi provare l'effetto delle seguenti configurazioni sul caricamento di un iframe in questa
demo. Modifica il menu a discesa X-Frame-Options
e fai clic sul pulsante Ricarica l'iframe.
Protegge il tuo sito web dall'incorporamento da parte di altri siti web
Nega l'incorporamento da parte di altri documenti.
X-Frame-Options: DENYProtegge il tuo sito web dall'incorporamento da parte di siti web cross-origin
Consenti l'incorporamento solo da documenti con stessa origine.
X-Frame-Options: SAMEORIGINBrowser supportati
Scopri di più
Policy di condivisione delle risorse tra origini (CORP)
Un malintenzionato può incorporare risorse di un'altra origine, ad esempio dal tuo sito, per ottenere informazioni su di esse sfruttando le perdite di dati cross-site basate sul web.
Cross-Origin-Resource-Policy mitiga questo rischio indicando l'insieme di siti web da cui può essere caricato. L'intestazione assume uno dei tre valori:
same-origin, same-site e cross-origin. Tutte le risorse sono
consigliate per inviare questo header per indicare se consentono il caricamento da parte di
altri siti web.
Esempio di utilizzo
Cross-Origin-Resource-Policy: same-origin
Utilizzi consigliati
Ti consigliamo di pubblicare tutte le risorse con una delle seguenti tre intestazioni.
Puoi provare in che modo le seguenti configurazioni influiscono sul caricamento delle risorse in un ambiente Cross-Origin-Embedder-Policy: require-corp in questa demo. Modifica il menu a discesa
Cross-Origin-Resource-Policy e fai clic sul pulsante Ricarica
l'iframe o Ricarica l'immagine per visualizzare l'effetto.
Consenti il caricamento delle risorse cross-origin
È consigliabile che i servizi simili a CDN applichino cross-origin alle risorse (poiché di solito vengono caricate da pagine cross-origin), a meno che non vengano già pubblicate tramite CORS, che ha un effetto simile.
Cross-Origin-Resource-Policy: cross-originLimita le risorse da caricare da same-origin
same-origin deve essere applicato alle risorse che devono essere caricate solo
dalle pagine della stessa origine. Devi applicare questa impostazione alle risorse che includono informazioni sensibili
sull'utente o alle risposte di un'API che deve essere chiamata
solo dalla stessa origine.
Tieni presente che le risorse con questa intestazione possono comunque essere caricate direttamente, ad esempio accedendo all'URL in una nuova finestra del browser. Il criterio di condivisione delle risorse tra origini protegge solo la risorsa dall'incorporamento da parte di altri siti web.
Cross-Origin-Resource-Policy: same-originLimita le risorse da caricare da same-site
same-site è consigliato per le risorse simili a quelle sopra indicate, ma destinate a essere caricate da altri sottodomini del tuo sito.
Cross-Origin-Resource-Policy: same-siteBrowser supportati
Scopri di più
Cross-Origin Opener Policy (COOP)
Il sito web di un malintenzionato può aprire un altro sito in una finestra popup per ottenere informazioni su di esso sfruttando le perdite di dati cross-site basate sul web. In alcuni casi, ciò potrebbe anche consentire lo sfruttamento di attacchi side-channel basati su Spectre.
L'intestazione Cross-Origin-Opener-Policy consente a un documento di isolarsi dalle finestre multiorigine aperte tramite window.open() o un link con target="_blank" senza rel="noopener". Di conseguenza, qualsiasi opener multiorigine
del documento non avrà alcun riferimento e non potrà interagire
con esso.
Esempio di utilizzo
Cross-Origin-Opener-Policy: same-origin-allow-popups
Utilizzi consigliati
Puoi provare in che modo le seguenti configurazioni influiscono sulla comunicazione con una finestra popup multiorigine in questa demo. Modifica il menu a discesa Cross-Origin-Opener-Policy sia per il documento che per la finestra popup, fai clic sul pulsante Apri un popup e poi su Invia un postMessage per verificare se il messaggio viene effettivamente recapitato.
Isolare un documento dalle finestre multiorigine
L'impostazione same-origin isola il documento dalle finestre dei documenti multiorigine.
Cross-Origin-Opener-Policy: same-originIsola un documento dalle finestre multiorigine, ma consenti i popup
L'impostazione same-origin-allow-popups consente a un documento di conservare un riferimento alle
sue finestre popup, a meno che non imposti COOP con same-origin o
same-origin-allow-popups. Ciò significa che same-origin-allow-popups può comunque
proteggere il documento dal riferimento quando viene aperto come finestra popup, ma
consentirgli di comunicare con i propri popup.
Cross-Origin-Opener-Policy: same-origin-allow-popupsConsenti a una finestra multiorigine di fare riferimento a un documento
unsafe-none è il valore predefinito, ma puoi indicare esplicitamente che questo
documento può essere aperto da una finestra multiorigine e mantenere l'accesso reciproco.
Cross-Origin-Opener-Policy: unsafe-noneReport sui pattern incompatibili con COOP
Puoi ricevere report quando COOP impedisce le interazioni tra finestre con l'API di reporting.
Cross-Origin-Opener-Policy: same-origin; report-to="coop"COOP supporta anche una modalità di solo report, in modo da poter ricevere report senza bloccare effettivamente la comunicazione tra documenti cross-origin.
Cross-Origin-Opener-Policy-Report-Only: same-origin; report-to="coop"Browser supportati
Scopri di più
Condivisione delle risorse tra origini (CORS)
A differenza di altri elementi di questo articolo, la condivisione delle risorse tra origini (CORS) non è un'intestazione, ma un meccanismo del browser che richiede e consente l'accesso a risorse multiorigine.
Per impostazione predefinita, i browser applicano il criterio della stessa origine per impedire a una pagina web di accedere a risorse multiorigine. Ad esempio, quando viene caricata un'immagine multiorigine, anche se viene visualizzata visivamente sulla pagina web, il codice JavaScript della pagina non ha accesso ai dati dell'immagine. Il fornitore di risorse può allentare le restrizioni e consentire ad altri siti web di leggere la risorsa attivando CORS.
Esempio di utilizzo
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Credentials: true
Prima di esaminare la configurazione di CORS, è utile comprendere la distinzione tra i tipi di richieste. A seconda dei dettagli della richiesta, una richiesta verrà classificata come richiesta semplice o richiesta preflight.
Criteri per una richiesta semplice:
- Il metodo è
GET,HEADoPOST. - Le intestazioni personalizzate includono solo
Accept,Accept-Language,Content-LanguageeContent-Type. - Il valore
Content-Typeèapplication/x-www-form-urlencoded,multipart/form-dataotext/plain.
Tutto il resto viene classificato come richiesta preflight. Per ulteriori dettagli, consulta Condivisione delle risorse tra origini (CORS) - HTTP | MDN.
Utilizzi consigliati
Richiesta semplice
Quando una richiesta soddisfa i criteri di richiesta semplice, il browser invia una
richiesta multiorigine con un'intestazione Origin che indica l'origine
della richiesta.
Intestazione della richiesta di esempio
Get / HTTP/1.1 Origin: https://example.com
Intestazione della risposta di esempio
Access-Control-Allow-Origin: https://example.com Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://example.comindica chehttps://example.compuò accedere ai contenuti della risposta. Le risorse destinate a essere leggibili da qualsiasi sito possono impostare questa intestazione su*, nel qual caso il browser richiederà solo che la richiesta venga effettuata senza credenziali.Access-Control-Allow-Credentials: trueindica che le richieste che contengono credenziali (cookie) sono autorizzate a caricare la risorsa. In caso contrario, le richieste autenticate verranno rifiutate anche se l'origine della richiesta è presente nell'intestazioneAccess-Control-Allow-Origin.
Puoi provare l'effetto della richiesta semplice sul caricamento delle risorse in un ambiente Cross-Origin-Embedder-Policy: require-corp in questa demo. Seleziona la casella di controllo
Condivisione di risorse tra origini diverse e fai clic sul pulsante Ricarica l'immagine
per visualizzare l'effetto.
Richieste preflight
Una richiesta preflight è preceduta da una richiesta OPTIONS per verificare se la
richiesta successiva può essere inviata.
Intestazione della richiesta di esempio
OPTIONS / HTTP/1.1 Origin: https://example.com Access-Control-Request-Method: POST Access-Control-Request-Headers: X-PINGOTHER, Content-Type
Access-Control-Request-Method: POSTconsente di effettuare la seguente richiesta con il metodoPOST.Access-Control-Request-Headers: X-PINGOTHER, Content-Typeconsente al richiedente di impostare le intestazioni HTTPX-PINGOTHEReContent-Typenella richiesta successiva.
Esempi di intestazioni di risposta
Access-Control-Allow-Origin: https://example.com Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: POST, GET, OPTIONS Access-Control-Allow-Headers: X-PINGOTHER, Content-Type Access-Control-Max-Age: 86400
Access-Control-Allow-Methods: POST, GET, OPTIONSindica che le richieste successive possono essere effettuate con i metodiPOST,GETeOPTIONS.Access-Control-Allow-Headers: X-PINGOTHER, Content-Typeindica che le richieste successive possono includere le intestazioniX-PINGOTHEReContent-Type.Access-Control-Max-Age: 86400indica che il risultato della richiesta preflight può essere memorizzato nella cache per 86.400 secondi.
Browser supportati
Scopri di più
Policy sull'incorporamento multiorigine (COEP)
Per ridurre la possibilità che gli attacchi basati su Spectre rubino risorse multiorigine, funzionalità come SharedArrayBuffer o performance.measureUserAgentSpecificMemory() sono disattivate per impostazione predefinita.
Cross-Origin-Embedder-Policy: require-corp impedisce a documenti e worker di
caricare risorse multiorigine come immagini, script, fogli di stile, iframe e
altri, a meno che queste risorse non attivino esplicitamente il caricamento tramite intestazioni CORS
o CORP. COEP può essere combinato conCross-Origin-Opener-Policy
per attivare l'isolamento cross-origin di un documento.
Utilizza Cross-Origin-Embedder-Policy: require-corp quando vuoi attivare
l'isolamento multiorigine per il tuo documento.
Esempio di utilizzo
Cross-Origin-Embedder-Policy: require-corp
Esempi di utilizzo
COEP accetta un unico valore di require-corp. Inviando questa intestazione, puoi
indicare al browser di bloccare il caricamento delle risorse che non vengono attivate tramite
CORS o CORP.
Puoi provare in che modo le seguenti configurazioni influiscono sul caricamento delle risorse in questa demo. Modifica il menu a discesa Cross-Origin-Embedder-Policy, il menu a discesa Cross-Origin-Resource-Policy, la casella di controllo Solo report e così via per vedere come influiscono sul caricamento delle risorse. Inoltre, apri la demo dell'endpoint di reporting per verificare se le risorse bloccate vengono segnalate.
Abilitare l'isolamento tra origini
Attiva l'isolamento multiorigine inviando
Cross-Origin-Embedder-Policy: require-corp insieme a
Cross-Origin-Opener-Policy: same-origin.
Cross-Origin-Embedder-Policy: require-corp Cross-Origin-Opener-Policy: same-origin
Segnalare risorse incompatibili con COEP
Puoi ricevere report sulle risorse bloccate causate da COEP con l'API Reporting.
Cross-Origin-Embedder-Policy: require-corp; report-to="coep"COEP supporta anche la modalità solo report, in modo da poter ricevere report senza bloccare effettivamente il caricamento delle risorse.
Cross-Origin-Embedder-Policy-Report-Only: require-corp; report-to="coep"Browser supportati
Scopri di più
HTTP Strict Transport Security (HSTS)
La comunicazione tramite una connessione HTTP semplice non è criptata, il che rende i dati trasferiti accessibili agli intercettatori a livello di rete.
L'intestazione Strict-Transport-Security comunica al browser che non deve mai caricare
il sito utilizzando HTTP e deve utilizzare HTTPS. Una volta impostato, il browser utilizzerà
HTTPS anziché HTTP per accedere al dominio senza reindirizzamento per una durata
definita nell'intestazione.
Esempio di utilizzo
Strict-Transport-Security: max-age=31536000
Utilizzi consigliati
Tutti i siti web che eseguono la transizione da HTTP a HTTPS devono rispondere con un'intestazione Strict-Transport-Security quando viene ricevuta una richiesta con HTTP.
Strict-Transport-Security: max-age=31536000Browser supportati