La connessione HTTPS non è "sicura" a causa delle immagini


14

Attualmente sto lavorando su un sito Web e ho installato con successo il mio certificato SSL.

Il correttore GeoTrust SSL / TLS ha confermato che la catena di certificati (inclusa la CA) è installata correttamente. Tutto sembra a posto su Chrome, ma il mio lucchetto non è verde e su Firefox in realtà afferma che il sito Web non è sicuro perché contiene elementi non crittografati.

Ho usato un servizio online per verificare perché lo è e risulta che le mie immagini non sono considerate URL sicuri. Come gestisco questa situazione, ovvero come posso incorporare le immagini sul mio sito Web in modo sicuro?

Risposte:


32

I tag immagine devono attualmente apparire come:

<img src="http://example.com/images/image.jpg">

Ciò httpsignifica che l'immagine NON viene servita in modo sicuro. Un utente malintenzionato può modificare l'immagine in transito e quindi modificare l'aspetto della pagina altrimenti sicura per i tuoi utenti.

Invece potresti utilizzare uno dei seguenti per servire le immagini in modo sicuro:

  • Link httpsesplicito a:<img src="https://example.com/images/image.jpg">
  • Usa il collegamento relativo alle immagini sul tuo dominio: <img src="/images/image.jpg">
  • Utilizzare il collegamento relativo al protocollo per utilizzare immagini da altri domini: <img src="//example.com/images/image.jpg">

Esplicito httpsservirà sempre l'immagine in modo sicuro (anche quando la pagina non viene pubblicata in modo sicuro) mentre il collegamento relativo servirà l'immagine in modo sicuro solo se la pagina viene pubblicata in modo sicuro.

In Firefox e Chrome puoi fare clic sul lucchetto e ottenere maggiori informazioni sul problema. Fatto ciò, ecco una schermata di Firefox che mostra un elenco di tutte le immagini nella pagina. È facile scansionare l'elenco e vedere quali sono http:


2
"Un utente malintenzionato potrebbe modificare l'immagine in transito e quindi modificare l'aspetto della pagina altrimenti sicura per i tuoi utenti." - o addirittura attivare una vulnerabilità nel renderer.
John Dvorak,

2
E dirottano i cookie, che potrebbero includere token di accesso.
Darkhogg,

Sembra che sia consigliato farlo. Grazie a te sono riuscito a ottenere il mio lucchetto verde ma un amico ha detto che la crittografia delle immagini potrebbe rallentare la pagina. È un problema nel mio caso?
mti_

3
Vi è certamente un certo sovraccarico per la crittografia, tuttavia in questi giorni di solito non supera il 10%. Tale penalità per le prestazioni (anche per le immagini) è il prezzo che devi pagare per un sito sicuro.
Stephen Ostermiller

whynopadlock.com è uno strumento utile per individuare rapidamente le risorse non sicure in corrispondenza di un URL specifico.
Ville,

5

Il problema è che la tua pagina offre collegamenti da una posizione http invece di https. Ciò è dovuto all'uso di collegamenti http assoluti per fare riferimento a risorse come immagini. Esistono due metodi migliori che ti consentiranno di fare riferimento ai collegamenti in http o https ed evitare questo problema.

È necessario trovare questi collegamenti e modificarli in:

  1. link relativi: es./wp-content/yourtheme/images/image1.jpg
  2. oppure posizionare // nella parte anteriore del dominio come in //example.com/wp-content/wp-content/yourtheme/images/image1.jpg Questo servirà quindi queste risorse su http o https in base alla richiesta effettuata.

In Chrome e Firefox puoi fare clic sull'icona del lucchetto e quindi fare clic su per visualizzare un elenco dei collegamenti non sicuri. E se non riesci a visualizzare immagini o altre risorse evidenziate nel browser ma stai ancora riscontrando errori, potresti scoprire che esiste una chiamata javascript che fa riferimento a collegamenti assolutamente via http .


2
//all'inizio non è standard e browser come Lynx si lamenteranno.
mirabilos,

2
@mirabilos RFC 1808 è lo standard per gli URL e specifica i collegamenti relativi al protocollo (a partire da //) nella sezione 2.4.3. Lo standard ora ha 15 anni e viene implementato da tutti i principali browser, tra cui Lynx
Stephen Ostermiller

#mirabilos Controlla i link al repository Google consigliati. Scoprirai che Google li sta usando da molti anni.
Garth il

1

È davvero di base. Quando si creano siti Web serviti su SSL (https), qualsiasi riferimento nel codice che non è preceduto da https genererà avvisi di sicurezza - diversi dai collegamenti. Si noti che la maggior parte (tutti) dei browser predefinisce anche i collegamenti relativi a http. Quindi, se si fa riferimento a /uploads/12/5/img.jpg o /js/jquery.js, il protocollo di trasferimento verrà automaticamente impostato su http, il che è davvero fastidioso.

Tutti i browser gestiscono gli avvisi in modo leggermente diverso ma visualizzerai un messaggio. Una dichiarazione generale sarebbe che il nuovo browser più grave sarà il messaggio. Alcuni browser più vecchi praticamente ignorano questi errori mentre i browser più recenti possono agire come se il tuo mondo fosse sotto attacco a causa della "s" mancante.


10
"la maggior parte (tutti) dei browser imposta anche i collegamenti relativi a http" Err, cosa? Assolutamente tutti i browser, a meno che non siano rotti, utilizzerebbero il protocollo corrente se non lo si specifica esplicitamente.
Oleg V. Volkov,

5
Oleg ha ragione; non è "fastidioso": è completamente sbagliato.
Corse di leggerezza con Monica il

3
Questo è completamente sbagliato. Ignora questa risposta.
martijnve,

@martijnve - In che modo la mia risposta è sbagliata?
blankip

4
@blankip vedi il commento di oleg V. Volkovs. Qualsiasi riferimento che include http è errato. TUTTI gli altri stanno bene. (relativo al protocollo, relativo al dominio, relativo al percorso). E dovresti usare comunque i collegamenti relativi in ​​quasi tutti i casi.
martijnve,

1

Se nessuno di questi suggerimenti è di aiuto quando si tratta dell'impossibilità di visualizzare le immagini dopo aver abilitato SSL sulla pagina Web, controllare nel caso in cui le impostazioni di cPanel per Hotlink, che si trovano nella sezione Sicurezza di cPanel. È molto probabile che in questa impostazione sia disponibile quanto segue: http://example.come http://www.example.comsiano abilitati per consentire l'accesso alle immagini mentre la httpsversione di queste non è abilitata.


-4

Controlla la configurazione del tuo protocollo url sicuro in cms / wordpress / magento o in qualsiasi altra piattaforma che stai utilizzando. Puoi anche condividere alcuni dei tuoi tag immagine, ma le immagini img src di base non danno questo tipo di errori.

La struttura dei tag immagine è importante, ma il focus della tua domanda penso sia relativo al "tipo" di certificato SSL installato sul tuo sito. Mi è successo un caso personale con un "Certificato SSL GoDaddy standard.

Vedrai un'icona di avviso nella barra di ricerca dell'URL (in particolare) di Firefox, dicendo che potrebbero esserci immagini o elementi non sicuri sul tuo sito. Per quanto ne so è solo una questione di come Firefox elabora le informazioni sul certificato o le informazioni incluse in esso. Questo non accade in Safari, Chrome o altri browser. Ho trovato una soluzione per questo, installando al posto di un "Standard SSL" un "Certificato SSL Premium o Certificato di convalida esteso EVC " che contiene informazioni più dettagliate sulla società del sito. Riceverai una barra di url sicura con lucchetto verde.

Tuttavia, il certificato premium ssl potrebbe essere un po 'più costoso, circa $ 150- $ 200 USD all'anno.

inserisci qui la descrizione dell'immagine


5
Questo non è vero perché: 1) I tag <img src = "..."> possono effettivamente dare questo tipo di errore, se inserisci un URL HTTP (al contrario di un URL HTTPS) e 2) il tipo di certificato o il il modo in cui viene elaborato non ha assolutamente nulla a che fare con questo
fNek

Uso per img src tag multimediali globali come {{media url = "path / to / image.jpg"}} con o senza protocollo ssl e non ottengo errori. A proposito, sto indicando l'errore ssl di Stephen per Firefox. Saluti.
Gaio RoOts

3
Se usi URL relativi, non ci sono problemi, perché sono relativi. Si prega di leggere l'altra risposta. So che ti riferisci all'errore di Stephen. I tipi di certificato non hanno ancora nulla a che fare con esso.
fNek,

Il tipo di certificato non ha alcun impatto sul cosiddetto "avviso a contenuto misto". Inoltre, tutti i browser moderni in questi giorni mostrano l'avvertimento, alcuni chiaramente, altri semplicemente rifiutando di mostrare l'icona di blocco.
Martijn Heemels,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.