Una pagina contiene contenuti misti quando il codice HTML iniziale viene caricato tramite una connessione HTTPS sicura, ma altre risorse (come immagini, video, fogli di stile e script) vengono caricate tramite una connessione HTTP non sicura. Il nome si riferisce alla combinazione di contenuti HTTP e HTTPS in una singola pagina.
La richiesta di risorse secondarie utilizzando il protocollo HTTP non sicuro indebolisce la sicurezza della pagina, perché queste richieste sono vulnerabili agli attacchi lungo il percorso, in cui un malintenzionato intercetta una connessione di rete e visualizza o modifica la comunicazione tra due parti. Utilizzando queste risorse, gli utenti malintenzionati possono monitorare gli utenti e sostituire i contenuti su un sito web e, nel caso di contenuti misti attivi, possono assumere il controllo completo della pagina, non solo delle risorse non sicure.
Sebbene molti browser segnalino all'utente avvisi relativi a contenuti misti, spesso la segnalazione avviene troppo tardi: le richieste non sicure sono già state eseguite e la sicurezza della pagina è compromessa.
La maggior parte dei browser ora blocca i contenuti misti per motivi di sicurezza. Modifica le richieste di contenuti non sicuri in modo che siano sicuri per garantire che la pagina continui a caricarsi correttamente.
I due tipi di contenuti misti
Esistono due tipi di contenuti misti: attivi e passivi.
I contenuti misti passivi, tra cui immagini, video e audio, non interagiscono con il resto della pagina, pertanto un attacco man-in-the-middle è limitato nelle sue azioni se intercetta o modifica questi contenuti.
I contenuti misti attivi interagiscono con la pagina nel suo complesso. Sono inclusi script, fogli di stile, iframe e qualsiasi altro codice che il browser può scaricare ed eseguire. Gli attacchi ai contenuti misti attivi consentono a un malintenzionato di fare quasi di tutto con la pagina.
Contenuti misti passivi
I contenuti misti passivi rappresentano un rischio minore rispetto ai contenuti misti attivi, ma il rischio rimane. Ad esempio, un malintenzionato può:
- Intercetta le richieste HTTP per le immagini sul tuo sito e scambia o sostituisci queste immagini.
- Sostituire le immagini sui pulsanti in modo che gli utenti le confondano ed eliminino, ad esempio, contenuti che intendevano salvare.
- Deturpare il tuo sito sostituendo le immagini con contenuti pornografici.
- Sostituisci le immagini prodotto con annunci di altro tipo.
Anche se l'autore dell'attacco non modifica i contenuti del tuo sito, può monitorare gli utenti tramite richieste di contenuti misti. Possono anche indicare quali pagine vengono visitate da un utente e quali prodotti vengono visualizzati in base alle immagini o ad altre risorse caricate dal browser.
Se sono presenti contenuti misti passivi, la maggior parte dei browser indica nella barra degli indirizzi che la pagina non è sicura, anche se la pagina stessa viene caricata tramite HTTPS. Puoi osservare questo comportamento in questa demo.
Fino a poco tempo fa, i contenuti misti passivi venivano caricati in tutti i browser, perché il loro blocco avrebbe causato il malfunzionamento di molti siti web. Ora la situazione sta iniziando a cambiare, quindi è fondamentale aggiornare eventuali istanze di contenuti misti sul tuo sito.
In alcuni casi, Chrome esegue automaticamente l'upgrade dei contenuti misti passivi. Ciò significa che se un asset è stato hardcoded come HTTP, ma è disponibile tramite HTTPS, il browser carica la versione HTTPS. Se non esiste una versione sicura, l'asset non viene caricato.
Ogni volta che Chrome rileva contenuti misti o esegue l'upgrade automatico dei contenuti misti passivi, registra messaggi dettagliati nella scheda Problemi di Strumenti per sviluppatori per consigliarti su come risolvere il problema specifico.

Contenuti misti attivi
I contenuti misti attivi rappresentano una minaccia maggiore rispetto ai contenuti misti passivi. Un malintenzionato può intercettare e riscrivere i contenuti attivi, utilizzandoli per assumere il controllo completo della tua pagina o addirittura dell'intero sito web. In questo modo, possono modificare qualsiasi aspetto della pagina, ad esempio mostrare contenuti diversi, rubare le password degli utenti o altre credenziali di accesso, rubare i cookie della sessione dell'utente o reindirizzare l'utente a un sito completamente diverso.
Poiché i rischi dei contenuti misti attivi sono molto elevati, la maggior parte dei browser blocca già questo tipo di contenuti per impostazione predefinita per proteggere gli utenti, ma il comportamento varia in base ai fornitori e alle versioni dei browser.
Questa demo mostra esempi di contenuti misti attivi. Carica l'esempio tramite HTTP per vedere i contenuti bloccati quando lo carichi tramite HTTPS. I contenuti bloccati sono descritti anche nella scheda Problemi di DevTools.

La specifica relativa ai contenuti misti
I browser rispettano la specifica relativa ai contenuti misti, che definisce le categorie di contenuti facoltativamente bloccabili e di contenuti bloccabili.
Una risorsa è considerata come contenuti facoltativamente bloccabili "quando il rischio di consentire il suo utilizzo come contenuti misti è superiore al rischio di interrompere parti significative del web". Si tratta di un sottoinsieme di contenuti misti passivi.
Tutti i contenuti misti che non sono facoltativamente bloccabili sono considerati bloccabili e devono essere bloccati dal browser.
Negli ultimi anni, l'utilizzo di HTTPS è aumentato notevolmente e questo protocollo è diventato chiaramente il predefinito sul web. Ora è più fattibile per i browser prendere in considerazione il blocco di tutti i contenuti misti, anche i tipi di risorse secondarie definiti nella specifica dei contenuti misti come bloccabili facoltativamente.
Browser meno recenti
Alcuni visitatori potrebbero utilizzare browser meno recenti. Versioni diverse di browser di fornitori diversi trattano i contenuti misti in modo diverso. Nel peggiore dei casi, i browser e le versioni precedenti non bloccano affatto i contenuti misti, il che non è sicuro per l'utente.
Caricando tutte le risorse in modo sicuro e risolvendo i problemi relativi ai contenuti misti, assicurati che i tuoi contenuti siano visibili e proteggi gli utenti da contenuti pericolosi che i browser meno recenti potrebbero non bloccare.