Vai al contenuto principale
Sicurezza web UE: 10 passi verso un rating migliore · Parte 7

X-Content-Type-Options e Referrer-Policy: due header, 5 minuti

Due header di sicurezza spesso trascurati che prevengono il MIME sniffing e la fuga dei referrer. Una riga ciascuno, effetto immediato.

· SiteGuardian

Parte 7 della serie "Sicurezza web UE: 10 passi verso un rating migliore"


X-Content-Type-Options

Il problema

I browser a volte cercano di "indovinare" il tipo di un file — indipendentemente dall'header Content-Type. Un'immagine che in realtà contiene JavaScript? Il browser lo esegue. Questo si chiama MIME sniffing ed è una porta d'accesso per attacchi di injection.

La soluzione

X-Content-Type-Options: nosniff

Un header, un valore. Il browser accetta solo file con il tipo MIME dichiarato.

Adozione: 27,7%. Quasi tre quarti dei siti UE sono vulnerabili ad attacchi di confusione MIME.

Come configurarlo

Nginx:

add_header X-Content-Type-Options "nosniff" always;

Apache:

Header always set X-Content-Type-Options "nosniff"

C'è un solo valore valido (nosniff), nessuna configurazione, nessun effetto collaterale. Nessun motivo per non impostarlo.


Referrer-Policy

Il problema

Quando un utente clicca un link esterno sul vostro sito, il browser invia per default l'URL completo della pagina di origine come header Referrer. Questo può far trapelare informazioni sensibili:

  • https://vostro-dominio.com/dashboard?user=12345&token=abc
  • https://vostro-dominio.com/admin/reports/audit-riservato
  • https://vostro-dominio.com/search?q=sintomi+medici

L'operatore del sito di destinazione vede l'URL completo — compresi parametri di query, percorsi e token di sessione.

La soluzione

Referrer-Policy: strict-origin-when-cross-origin

Con questa policy, il browser invia: - Quando naviga verso un altro dominio: solo l'origine (https://vostro-dominio.com), senza percorsi - All'interno del proprio dominio: l'URL completo (utile per l'analisi) - In caso di downgrade da HTTPS a HTTP: nulla

Adozione: 13,1%.

Come configurarlo

Nginx:

add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Apache:

Header always set Referrer-Policy "strict-origin-when-cross-origin"

Policy alternative

Policy Comportamento Raccomandazione
no-referrer Non invia mai il referrer Troppo restrittiva (rompe l'analisi)
origin Invia sempre solo l'origine Buona, ma perde i percorsi interni
strict-origin-when-cross-origin Origine cross-domain, completo internamente Raccomandata
same-origin Completo internamente, nulla esternamente Buona per applicazioni sensibili

Entrambi insieme: lo snippet Nginx

# Header di sicurezza — pronto per il copia-incolla
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Quattro header, quattro righe. Nella vostra configurazione Nginx o in un file include. Combinati con le Parti 1-3 di questa serie, coprono i sei header di sicurezza più importanti.


Verifica i tuoi header

https://siteguardian.io/scan


La prossima settimana nella Parte 8: Record CAA — quale autorità di certificazione è autorizzata a emettere certificati per il vostro dominio?

Come si posiziona il tuo sito web?

SiteGuardian analizza il tuo dominio su sei dimensioni di sicurezza — gratis, istantaneo, senza registrazione.

Analizza il tuo sito web

Sicurezza web UE: 10 passi verso un rating migliore

Questo articolo fa parte di una serie settimanale sulle best practice di sicurezza web in UE.

SiteGuardian

2026-05-25

RSS