Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

Mixed content: perchè non bisogna mischiare HTTP con HTTPS


Cerchi un hosting economico per il tuo sito o blog? Tophost ti aspetta (clicca qui)

Da molto tempo SSL e HTTPS sono diventati standard di vitale importanza per il web, nonostante qualche perplessità  ed un lungo dibattito sull’opportunità  di adottare lo standard in modo universale. La diffusione di servizi gratuiti come Let’s encrypt, ed un proliferare di informazione sul tema di qualità  finalmente accettabile, alla fine, ha fatto in modo che lo standard fosse accettato, per quanto non sempre sia implementato in modo corretto.


Cerchi un hosting economico per il tuo sito o blog? Tophost ti aspetta (clicca qui)

Cosa significa mixed content?

Uno dei problemi più diffusi a riguardo è proprio il mixed content, che in italiano si traduce come contenuti misti – ovvero pagine web in HTTPS che prevedano link in HTTP a contenuti HTML, CSS, JS o immagini (oppure, viceversa, pagine HTTP con link in HTTPS, anche qui misti tra loro).

Per capire bene di che si tratta è necessario qualche piccola premessa sul significato di HTTPS e le sue implicazioni in fatto di sicurezza: normalmente infatti quando ci andiamo collegare ad un sito Web in HTTP la connessione non sarà  protetta, O meglio lo sarà  soltanto in parte (ad esempio, grazie alla protezione WPA2 della connettività  wireless da cui ci connettiamo), ma ci sarà  comunque un punto finale (endpoint) in cui potenzialmente uno spione o un utente malintenzionato potrebbe – a nostra insaputa – intercettare quei dati. Questo significa che mediante una pratica di monitoraggio detto sniffing questi potrebbe essere in grado di vedere le password che vigiliamo quello che cerchiamo su internet, i siti che visitiamo, e cosଠvia.

HTTPS pone un rimedio questo problema incapsulando (ovvero prevedendo una protezione crittografata)  i dati in ingresso e in uscita tra client e server: ciò permetterà  di proteggere la connessione da eventuali intrusioni e software spia. Le pagine Web sono collegate tra di loro: questo non solo mediante link da una pagina all’altra (collegamenti ipertestuali), ma anche mediante inclusione di fogli di stile CSS, the file JavaScript, di immagini e di form di inserimento dati. Diventa chiaro a questo punto che se inseriamo dei link con HTTP in chiaro all’interno di pagine protette da HTTPS l’intero meccanismo di protezione rischia di sfaldarsi, E questo viene giustamente rilevato come un’anomalia da tutti i browser moderni.

Come si comportano in browser con i contenuti misti: in genere li bloccano

Interessante analizzare come si comportano i browser nel caso di mixed content: non tutti sanno che linea di massima non caricano i contenuti mixed. In altri termini sei inseriamo ad esempio dei banner con link in HTTP all’interno di pagine protette da SSL, ci sono buone probabilità  che quei banner non vengono mai mostrati agli utenti finali, e questo naturalmente si ripercuote in termini di mancati guadagni dalle visualizzazioni e dai clic. Stessa cosa senza diamo delle immagini in HTTP all’interno di un blog protetto in HTTPS: l’immagine su molti browser non si vedranno. Nello specifico, sia Internet Explorer (dalla versione 9) che Firefox a partire dalla versione 23 che Chrome da diverso tempo bloccano inderogabilmente i contenuti misti.  In altri casi possono mostrare un warning all’utente, cioè un avviso che contenuti del sito non sono sicuri, oppure ancora possono mostrare l’icona di un lucchetto grigio o del blocchetto spezzato. Dal punto di vista dell’immagine del nostro sito questo può essere visto come un danno, in termini di scarsa sicurezza o scarsa affidabilità  dei nostri servizi (dal punto di vista di qualche utente più pignolo, o semplicemente più informato). Il contenuto passivo misto viene visualizzato, ma gli utenti potrebbero ugualmente decidere di bloccare questo contenuto impostando una preferenza d’uso del browser.

Ti potrebbe interessare:  Architettura sito web: cos'è e a cosa serve

È importante quindi risolvere i problemi di mixed-content prima possibile, per evitare di ridurre il potenziale tecnico e commerciale del nostro sito.

Mixed content attivo

In genere contenuto visto può essere di due tipi: la prima categoria il contenuto misto di tipo attivo, cioè quello che riguarda parti del sito che possono prevedere una qualche interazione con l’utente (script), oppure che riguardino caricamento di API all’esterno o fetch di dati, di oggetti di vario genere, di file CSS di stile. Se ad esempio la vostra pagina HTTP S non visualizza correttamente fogli di stile o non carica uno script, con buona probabilità  potrebbe essere un problema di mixed content attivo: non è banale accorgersene, perchà© dipende anche dalle impostazioni e dalla versione del browser, motivo per cui quando si sviluppa un sito àˆ sempre opportuno utilizzarlo da sviluppatori con le impostazioni più restrittive. In questo modo, quindi, potremmo testarlo nella massima sicurezza.

In questi casi bisogna intervenire a livello di sviluppo del sito e fare in modo che tutti gli URL siano universalmente in HTTPS; se su qualche dominio esterno SSN non fosse supportato, è indispensabile sollecitare l’uso del protocollo, passare a versioni premium delle librerie, cambiare API e cosଠvia, a seconda dei casi.

Questa è una lista dei principali tag HTML che possono prevedere casi di mixed content attivo:

  • <script> (controllare l’URL sull’attributo src) – ad esempio file .JS
  • <link> (controllare l’URL sull’attributo) – ad esempio fogli di stile .CSS
  • <url> all’interno dei file CSS (esempio: @font-face, cursor, background-image, …).
  • <iframe> (controllare l’URL sull’attributosrc)
  • XMLHttpRequest
  • fetch()
  • <object> (controllare l’URL sull’attributo data)

Mixed content passivo

Contrapposto al mixed content attivo via quello passivo, che solitamente è meno prioritario del precedente, ma dovrebbe comunque essere evitato, se possibile. In questi casi è abbastanza semplice risolvere, perchà© basta editare manualmente URL HTTP e farli diventare tutti in HTTPS – ovviamente dopo aver attivato i certificati sui domini degli URL in questione.

  • <img> (src)
  • <audio> (src)
  • <video> (src)
  • <object>

Per risolvere il problema: pre-requisito di base

La cosa fondamentale per risolvere problemi di questo tipo è che tutti i domini che siano coinvolti (linkati) supportino HTTPS; se non ci fosse, è indispensabile installarlo manualmente. àˆ indifferente utilizzare certificati gratuiti o a pagamento, anche se, a livello pratico, alcuni tipi di applicazione potrebbero prevedere l’opportunità  di utilizzare soltanto i secondi (ad esempio siti di e-commerce).

Ti potrebbe interessare:  Cosa sono i domini DROPPED

Come rilevare e risolvere un sito con mixed content

Le operazioni da eseguire per risolvere prevedono, in generale:

  1. La rilevazione di tutti gli URL che provocano mixed content, su tutte le pagine e per tutti i link in uscita (anche quelli esterni al sito);
  2. La correzione manuale o in massa deli URL scorretti
  3. Un successivo check per verificare che sia tutto ok: per verificare la presenza di problemi di mixed content, è possibile sfruttare alcuni appositi tool gratuiti.
  4. La ripetizione dei punti 1-3 finchè il punto 4 non da’ più alcun errore.

Plugin WordPress per risolvere il mixed content

Per i siti WordPress sono disponibili numerosi plugin che aiutano sia a rilevare perchà© a risolvere il problema. Quello che segue è un fixer, cioè un “correttore automatico” che può essere utilizzato per provare ad arginare il problema se non avessimo uno sviluppatore a portata di mano.

SSL Insecure Content Fixer

(fonte, fonte)

Da non perdere 👇👇👇



Trovalost.it esiste da 4430 giorni (12 anni), e contiene ad oggi 4008 articoli (circa 3.206.400 parole in tutto) e 12 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.