Cookie Questo sito conserva solo ciò che serve per funzionare. Al momento non ci sono né statistiche né pubblicità, e nulla di quanto trovi qui ti segue su altri siti. Leggi l’informativa sulla privacy

Scegli cosa consentire
+92 312 8299940Preventivo gratuito
Blog

Security headers: aggiungi i cinque sicuri in pochi minuti

Security headers spiegati in modo semplice: cosa fa ogni header, le righe esatte per Apache e Nginx e come controllarli gratis.

By the Denwix team 6 min read

Cosa sono i security headers?

I security headers sono brevi righe che il server invia con ogni pagina. Dicono al browser come proteggere i visitatori: restare su HTTPS, non indovinare i tipi di file, non lasciare che altri siti incornicino la pagina e così via.

Non costano nulla e quasi mai cambiano l’aspetto della pagina. Eppure molti siti non ne inviano nessuno. Nella nostra demo, un sito nuovo li aveva tutti e sei mancanti, quindi il browser non riceveva regole.

Schema: controlla gli header, copia le righe per Apache o Nginx, poi ricontrolla finché ne passano cinque su sei
Controlla, copia, ricontrolla: quasi tutti i siti richiedono pochi minuti.

Passo 1: controlla cosa invia il sito

Per prima cosa usa il nostro HTTP Header Checker gratuito sul sito online. Valuta ogni header di sicurezza e mostra cosa manca.

Poi scrive la correzione per te. Scegli il tuo server, come Apache o Nginx, e copia le righe. Così non devi mai scrivere un header a mano.

I cinque header sicuri

Questi cinque quasi mai rompono qualcosa, quindi quasi ogni sito può aggiungerli oggi.

Strict-Transport-Security

Tiene i visitatori su HTTPS, anche se scrivono http. Parti con un max-age breve, come spiega la nostra guida a HSTS.

X-Content-Type-Options

Il valore nosniff impedisce al browser di indovinare i tipi di file. Di conseguenza un file caricato come immagine non può all’improvviso girare come script.

X-Frame-Options

Il valore SAMEORIGIN impedisce ad altri siti di mostrare le tue pagine in un frame. Così blocca il clickjacking, in cui un frame nascosto spinge le persone a cliccare.

SAMEORIGIN o DENY

Usa DENY se nessuna tua pagina compare mai in un frame. Invece usa SAMEORIGIN se il tuo sito incornicia le proprie pagine, per esempio in un’anteprima o in un modulo incorporato.

Referrer-Policy

Il valore strict-origin-when-cross-origin limita ciò che altri siti sanno della pagina da cui arriva un visitatore. Vedono il tuo dominio, ma non il percorso completo.

Permissions-Policy

Spegne funzioni come fotocamera, microfono e posizione nelle pagine che non ne hanno bisogno. Se uno script prova comunque a usarle, il browser rifiuta.

Come aggiungerli su Apache

Apri il file .htaccess nella cartella principale del sito e aggiungi queste righe alla fine:

Header always set Strict-Transport-Security "max-age=300"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Demo: le cinque righe degli header aggiunte alla fine del file htaccess
Le cinque righe vanno alla fine del file htaccess.

Salva il file. Il server lo legge alla richiesta successiva, quindi non c’è nulla da riavviare. Se la pagina mostra un errore 500, forse il modulo degli header è spento; chiedi all’hosting di attivare mod_headers.

Come aggiungerli su Nginx e Cloudflare

Su Nginx gli stessi header vanno nel blocco server HTTPS come righe add_header. Poi ricarica Nginx:

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;

Su Cloudflare puoi aggiungerli con una Transform Rule che imposta gli header di risposta. Tuttavia, se il server li invia già, non aggiungerli due volte, perché gli header doppi confondono i browser.

Perché la CSP viene per ultima

Il sesto header, Content-Security-Policy, è escluso apposta. Una policy sbagliata può rompere la pagina, perché blocca script e stili che non sono nel suo elenco.

Per questo ha un percorso tutto suo: parti in modalità Report-Only, leggi la console e consenti solo ciò che usi. La nostra guida alla Content Security Policy lo spiega passo per passo.

Come provare dopo la modifica

Rilancia l’HTTP Header Checker. Nella nostra demo cinque dei sei header sono passati dopo una sola modifica.

Poi apri il sito e naviga un po’. Tutto dovrebbe caricarsi e apparire uguale, ora con la protezione in più. Infine ripeti il controllo dopo ogni trasloco di server o nuovo plugin, perché entrambi possono togliere header senza avvisare.

Errori comuni

  • Partire con HSTS a un anno di max-age prima che HTTPS sia stabile.
  • Inviare lo stesso header due volte, dal server e da un plugin o CDN.
  • Dimenticare always, così le pagine di errore escono senza header.
  • Mettere X-Frame-Options DENY quando il tuo sito usa frame, come un modulo di prenotazione incorporato.
  • Copiare una Content-Security-Policy rigorosa da un altro sito senza provarla.

In breve: controlla, aggiungi i cinque header sicuri, ricontrolla e gestisci la CSP a parte. Per l’elenco completo di header e valori, leggi il riferimento MDN sugli header HTTP.

Domande e risposte

Cosa sono i security headers?

Header di risposta che dicono al browser come proteggere i visitatori, per esempio restare su HTTPS o rifiutare di essere incorniciati da altri siti.

Quali security headers deve avere ogni sito?

Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy e Permissions-Policy. Poi aggiungi Content-Security-Policy dopo test accurati.

I security headers rallentano il sito?

No, perché sono poche righe di testo, e HSTS toglie persino un redirect a chi torna.

Come controllo i miei security headers?

Usa il nostro HTTP Header Checker gratuito sul tuo URL. Valuta ogni header e scrive le righe mancanti per il tuo server.

Dove aggiungo i security headers su Apache?

Nel file .htaccess nella cartella principale del sito, con righe Header always set.

Come aggiungo i security headers su Nginx?

Usa righe add_header con always nel blocco server HTTPS, poi ricarica Nginx.

Posso aggiungere i security headers su Cloudflare?

Sì, con una Transform Rule per gli header di risposta. Però non inviarli anche dal server, altrimenti compaiono due volte.

Cosa fa X-Content-Type-Options nosniff?

Impedisce al browser di indovinare i tipi di file, quindi un file non può girare come un altro tipo.

Cosa fa X-Frame-Options?

Impedisce ad altri siti di mostrare le tue pagine in un frame, e così blocca il clickjacking.

Quale Referrer-Policy è buona?

strict-origin-when-cross-origin. Così gli altri siti vedono il tuo dominio, ma non il percorso completo.

Cosa fa Permissions-Policy?

Spegne funzioni del browser come fotocamera, microfono e posizione nelle pagine che non ne hanno bisogno.

Perché la Content-Security-Policy non è nell’elenco rapido?

Perché una policy sbagliata può rompere la pagina, quindi va prima provata in Report-Only. Ha una guida tutta sua.

I security headers aiutano la SEO?

Non direttamente. Tuttavia proteggono i visitatori, e HSTS toglie un salto di redirect, cosa che aiuta la velocità.

Perché i miei header non compaiono?

Forse il modulo headers di Apache è spento, una CDN li toglie o viene servita una pagina in cache. Quindi svuota le cache e ricontrolla.

Cos’è X-XSS-Protection?

Un vecchio header per un filtro che i browser moderni hanno tolto. Non serve; una Content-Security-Policy fa il vero lavoro.

I plugin di WordPress possono aggiungere i security headers?

Sì, tuttavia una regola del server è più veloce e copre anche i file fuori da WordPress. Usa una sola fonte.

I security headers toccano immagini o font?

I cinque sicuri no. Solo la Content-Security-Policy può bloccare file, perciò va provata.

Ogni quanto devo controllare gli header?

Dopo ogni trasloco di server, cambio di CDN o nuovo plugin di sicurezza, perché ognuno può togliere o duplicare header.

Il SEO Checker controlla i security headers?

Sì. Il nostro SEO Checker mostra ogni header e porta a questa guida quando ne manca uno.

Serve ancora X-Frame-Options con una CSP?

frame-ancestors nella CSP lo sostituisce nei browser moderni. Tenerli entrambi però non fa danni e copre i browser vecchi.

Guida video

Come aggiungere i security headers

In questo breve video vedi lo strumento dal primo all’ultimo clic. Scegli la tua lingua qui sotto e attiva i sottotitoli se ti aiutano.

Controlla ora i tuoi security headers

Inserisci il tuo URL nell’HTTP Header Checker per valutare ogni header di sicurezza e copiare le righe mancanti.