Tecnico

Cos'è il mixed content, e perché mina l'HTTPS?

Attivare HTTPS è solo metà del lavoro se alcune parti della pagina vengono ancora caricate silenziosamente tramite la vecchia connessione non sicura.

Cos'è

Una volta che una pagina viene servita in modo sicuro tramite HTTPS, anche ogni singolo elemento caricato su quella pagina, ogni immagine, script, foglio di stile e video incorporato, dovrebbe caricarsi tramite HTTPS. Il "mixed content" (contenuto misto) è ciò che accade quando la pagina principale è sicura ma uno o più di questi singoli elementi viene ancora caricato tramite il vecchio http:// non crittografato, spesso a causa di un vecchio link a un'immagine o di un codice di incorporamento che non è mai stato aggiornato quando il sito è passato a HTTPS.

Si chiama "misto" perché la pagina finisce per servire contemporaneamente un mix di connessioni sicure e non sicure, il che vanifica buona parte dello scopo stesso di passare a HTTPS.

Perché è importante

I browser trattano il mixed content come un problema di sicurezza reale, non estetico: spesso bloccano silenziosamente il caricamento della risorsa non sicura (quindi un'immagine o uno script semplicemente non appare), oppure mostrano un'icona di avviso visibile nella barra degli indirizzi che annulla la fiducia che il lucchetto avrebbe dovuto trasmettere. In entrambi i casi, agli occhi di un visitatore attento alla sicurezza, il risultato è peggiore che non avere affatto HTTPS, perché sembra che qualcosa sia effettivamente rotto o configurato solo a metà.

Poiché il mixed content solitamente deriva da uno o due link trascurati sepolti nel codice di una pagina (un vecchio URL di immagine, un embed di terze parti), è anche uno dei problemi più facili da risolvere completamente in questo elenco, una volta individuato.

Come risolverlo

  1. Apri la tua pagina in un browser e controlla la console per sviluppatori (di solito apribile con F12 o clic destro → Ispeziona → scheda Console) per avvisi che menzionano "mixed content" o "contenuto non sicuro".
  2. Ogni avviso indicherà la risorsa specifica (un URL di immagine, script o foglio di stile) che si sta ancora caricando tramite http://.
  3. Aggiorna ciascuno di questi URL in modo che inizi con https:// invece: la maggior parte delle risorse è disponibile tramite HTTPS anche se il link specifico sulla tua pagina non è stato aggiornato.
  4. Per gli embed di terze parti (video, widget, annunci) che forniscono solo una versione http://, verifica se il fornitore offre invece un codice di incorporamento HTTPS.
  5. Ricarica la pagina e ricontrolla la console per confermare che gli avvisi siano scomparsi.

Verifica se il tuo sito ha questo problema

Launch Readiness analizza il tuo sito alla ricerca di questo e altri ~50 problemi prima del lancio, in pochi secondi — gratis, senza registrazione.

Avvia un'analisi gratuita