X-XSS-Protection

L'header HTTP di risposta  X-XSS-Protection è una funzionalità di Internet Explorer, Chrome e Safari che impedisce alle pagine di caricarsi quando rilevano attacchi di tipo cross-site scripting reflected (XSS). Anche se queste protezioni sono largamente non necessarie nei browser moderni, quando i siti web implementano una  Content-Security-Policy restrittiva che disabilita l'uso di JavaScript inline ('unsafe-inline'), possono ancora fornire protezione agli utenti di browser datati che non supportano CSP.

Header type Response header
Forbidden header name no

Sintassi

X-XSS-Protection: 0
X-XSS-Protection: 1
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=<reporting-uri>
0
Disabilita il filtro XSS.
1
Ablita il filtro XSS (solitamente il valore di default dei browser). Se un attacco di tipo cross-site scripting viene rilevato, il browser sanitizzerà la pagina web (rimuovendo il contenuto non sicuro).
1; mode=block
Abilita il filtro XSS. Piuttosto che sanitizzare la pagina web, il browser eviterà di mostrare la pagina quando un attacco viene rilevato.
1; report=<reporting-URI>  (Solo Chromium)
Abilita il filtro XSS. Se un attacco di tipo cross-site scripting viene rilevato, il browser sanitizzerà la pagina e riporterà la violazione. Questo sistema utilizza la funzionalità della direttiva CSP report-uri per segnalare la violazione.

Esempio

Impedisce alle pagine di caricare quando viene rilevato un attacco di tipo XSS reflected:

X-XSS-Protection: 1; mode=block

PHP

header("X-XSS-Protection: 1; mode=block");

Apache (.htaccess)

<IfModule mod_headers.c> 
  Header set X-XSS-Protection "1; mode=block" 
</IfModule>

Nginx

add_header "X-XSS-Protection" "1; mode=block";

Specifiche

Non parte di nessuna specifica o bozza.

Compatibilità Browser

 

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
X-XSS-Protection
Non-standard
Chrome No support 4 — 78Edge No support 12 — 17Firefox No support NoIE Full support 8Opera No support ? — 65Safari Full support YesWebView Android No support NoChrome Android No support ? — 78Firefox Android No support NoOpera Android No support ? — 56Safari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

Vedi anche