Scopri quali risorse non passano su HTTPS


92

Ho un sito ASP.NET che dovrebbe essere trasportato completamente su HTTPS. Tuttavia, in Google Chrome ricevo un avviso che la pagina include risorse che non sono sicure. Come posso scoprire quali sono queste risorse e perché non dovrebbero passare su HTTPS?




12
Chrome Devtools> scheda Rete> fai clic con il pulsante destro del mouse su qualsiasi intestazione di colonna> fai clic su "Schema"
Costa

Questo è anche comunemente visto quando gli utenti incorporano immagini URL nei post di stackexchange, usano la versione http invece di https.
jiggunjer

So che questo post è un po 'vecchio ma nel caso in cui aiuti qualcuno, c'è un'app desktop che puoi eseguire ora per scansionare e segnalare problemi di contenuti misti trovati su un sito: ecommerce.co.uk/httpschecker Spero che aiuti :)
stilliard

Risposte:


44

Di solito ciò si verifica perché stai caricando immagini, file di inclusione di javascript o file CSS esterni senza utilizzare https. Puoi utilizzare un programma come FireBug: http://getfirebug.com/

FireBug ti dirà come vengono caricati i tuoi elementi e quali non stanno attraversando il livello SSL. Se non hai Firefox, sono abbastanza sicuro che Chrome abbia anche qualcosa di simile a FireBug integrato.

Ecco come usare Firebug:

  1. Apri firebug
  2. Fare clic sulla scheda Console
  3. Ricarica la pagina
  4. Eventuali errori https verranno visualizzati nella console e ti diranno quale risorsa non funziona.

Spero che questo ti aiuti


17
Potresti essere più specifico?

2
Carica la pagina con la scheda Rete attivata. Una volta completato il caricamento della pagina, passa con il mouse su ciascuna voce e la voce GET visualizzerà l'URL che sta recuperando. Alla fine troverai quelli che vengono recuperati tramite HTTP anziché HTTPS.
Joe C

2
pensi che controlli manualmente ciascuno specificaly nell'intero stack di risorse? Che ne dici di alcuni filtri https?
palmico

5
Per aggiungere alla soluzione @ phantom, puoi fare clic con il pulsante destro del mouse su una voce nella scheda Rete e scegliere "copia tutto come HAR". Questo copierà tutte le voci come un oggetto simile a JSON, il che rende facile incollare in un editor e Ctrl-F per "http:". Non riesco a credere che non ci sia una scheda schema nella scheda Rete degli strumenti per sviluppatori, però.
Protector one

3
Ho appena riscontrato lo stesso problema ma tutte le immagini, i riferimenti css e js erano https. Ma alcuni erano rossi. Quindi ho copiato l'URL e solo quando li ho incollati nella loro scheda del browser ho scoperto che il certificato del server era scaduto. Quindi questo è un altro motivo non ovvio per cui potresti ricevere quell'errore.
stu

87

Ho appena avuto questo problema anche in Chrome. Ho controllato nella scheda Rete ma tutte le risorse sono state caricate su https.

Soluzione: chiudi Chrome e riapri.

Chrome deve memorizzare nella cache il rilevamento del contenuto protetto in modo che anche quando si risolvono i problemi il messaggio di contenuto non protetto non scompare.


18
La chiusura di Chrome è eccessiva, puoi semplicemente chiudere la scheda.
Patrick James McDougle

1
Ho un rapporto di amore / odio con Chrome - problemi come questo vanno sotto la colonna "odio". -_- Così tanto tempo sprecato per niente. Grazie per questa soluzione, ha funzionato per me.
Mike

@MjrKusanagi grazie per il trucco..RESTART ha funzionato anche per me..non riuscivo a vedere nulla nella scheda di rete o negli errori della console..cambiato tutte le opzioni predefinite..mi chiedevo davvero perché non funzionasse..ma ho ottenuto il verde https: // nella barra degli indirizzi ..
Lucky

Il mio problema era il tag <form> sulla mia pagina. Il debugger di rete di Webkit non ti mostrerà se il tuo parametro di azione punta a un URL non protetto!
Billy

38

Non ho nulla a che fare con le persone che forniscono questo script online, ma è facile e può essere aggiunto ai segnalibri in qualsiasi browser .. funziona bene e rapidamente per risolvere il problema .. http://www.whynopadlock.com


Ehi, è stato davvero utile, non sono riuscito a trovare il colpevole fino a quando non ho provato lo script e ho scoperto che era un carattere di Google collegato a http invece che a https!
Daniel Valadas

Questa è stata l'unica cosa che ha rivelato il problema, grazie. Si è scoperto che avevo un tag <form> che faceva riferimento a un'azione su http - non https!
Billy

8

In Google Chrome: puoi visualizzare la risorsa incriminata nella Consolescheda della Inspect Elementfinestra.

Sarà elencato come:

La pagina all'indirizzo https://example.com/page mostrava contenuti non sicuri da http : //example.com/resource

Ovviamente potresti dover ricaricare la pagina con la Inspect Elementfinestra già aperta.


3
Scheda Rete> fai clic con il pulsante destro del mouse su qualsiasi intestazione di colonna> fai clic su "Schema"
Costa

1
@Costa: il problema con questo approccio è che non elencherà i contenuti che Chrome ha bloccato. La soluzione nella risposta mostra entrambi.
colan

Questo è noto come "Cassetto della console" e si apre facendo clic sul simbolo "> ☰" in alto a destra nell'inspector.
Dale Anderson

Chrome fornirà questo avviso anche per i moduli su una pagina che vengono inviati a posizioni non sicure.
Dale Anderson

Bella risposta. Ho risolto tutti i problemi http elencati nella mia scheda di rete. ma la console mi ha mostrato che dovevo anche fissare un obiettivo del modulo per una newsletter per far sì che usasse https. A quanto pare, nessun target di modulo su una pagina SSL può targetizzare una pagina non SSL.
Buttle Butkus

6

Uno dei modi più semplici per farlo è fare clic con il pulsante destro del mouse sulla pagina in Firefox e selezionare Visualizza informazioni sulla pagina. Quindi vai alla scheda Media e trova tutto ciò che viene caricato da http invece che da https.


2
Funziona benissimo per immagini e simili, ma spesso è un file JavaScript o CSS collegato che causa l'interruzione dell'HTTPS.
Joe C

Questa è la soluzione più veloce per trovare il collegamento colpevole in una determinata pagina. Penso che questa sia la soluzione migliore tra tutte le soluzioni in questa pagina .. Grazie
Pavan Kumar

Questo non funziona in quanto non mostra javascript caricati da altri script. Mostra solo gli elementi che sono collegati direttamente nell'HTML
Janning

5

Abbiamo eliminato il nostro prurito e abbiamo scritto uno strumento che esegue la scansione del tuo sito web e ti dice quali pagine hanno risorse non SSL su di esse. Devi solo inserire l'URL principale del tuo sito web, non è necessario controllare manualmente ogni pagina.

http://www.jitbit.com/sslcheck/


2

Ho notato che quando ho avuto questo problema che una barra degli strumenti (uTorrent) stava causando l'errore. Ho rimosso la barra degli strumenti e l'errore è andato via. Non sono sicuro del motivo per cui una barra degli strumenti potrebbe causare un errore sul mio sito, ma qui non ci sono più problemi con il certificato SSL.


1

In Chrome, puoi scoprire quali risorse sono state caricate tramite http rispetto a https procedendo come segue:

1) Nel menu Strumenti, scegli Strumenti> Strumenti per sviluppatori

2) Fare clic sull'icona della barra degli strumenti "Risorse"

3) Espandi la cartella Frames per vedere le diverse pagine. Espandi la pagina di cui desideri visualizzare le risorse. Le singole risorse per la pagina vengono quindi elencate, suddivise per immagini, script e fogli di stile

4) Per vedere l'URL che è stato utilizzato per caricare quella risorsa, è sufficiente passare il mouse sul nome della risorsa e apparirà l'URL, con http o https. Puoi anche fare clic sul nome di un'immagine per vedere l'immagine sul lato destro, insieme al suo URL


3
Scheda Rete> fai clic con il pulsante destro del mouse su qualsiasi intestazione di colonna> fai clic su "Schema"
Costa

Grande. Perché lo chiamano Schema invece di Protocollo? : /
Aamir Afridi

1

Per aggiungere a questo ho fatto clic con il pulsante destro del mouse sulle intestazioni delle colonne nella visualizzazione della scheda Rete e ho selezionato Protocollo.

Se quindi fai clic sull'intestazione Protocollo, i contenuti del rapporto verranno raggruppati per HTTPS, ecc


In Chrome v69, penso che sia la colonna "Schema" che sarebbe più utile in questo caso.
Tasos

0

Chrome ha il proprio strumento per sviluppatori.

puoi fare clic con il pulsante destro del mouse su una pagina, esaminarla .. quindi fare clic sulla scheda "rete" e ricaricare la pagina. vedrai il flusso di lavoro.


0

Non so se qualcuno controllerà questa risposta O potresti aver già trovato la soluzione, ma comunque, la mia risposta potrebbe aiutare altre persone che soffrono di problemi simili

http://www.whynopadlock.com/

Questo è il collegamento che ho usato per controllare il contenuto / file non sicuro che veniva caricato sulla mia pagina.

Spero che sia d'aiuto. :)


0

Ho appena scoperto lo stesso comportamento in Chrome (Firefox ha mostrato un lucchetto verde), anche se tutte le risorse sono state caricate tramite https.

Il motivo nel mio caso era che il server supportava SSLv3 danneggiato (google poodle).

Impostazione di ssl_protocols per escludere SSLv2 in nginx.conf in questo modo

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE

risolto il problema per me.

Considero un peccato che il cromo non renda questo motivo più trasparente. "questa pagina carica alcune risorse in modo insicuro" è molto fuorviante se non sbagliato.


0

Se vuoi eseguire la scansione del tuo sito dal tuo desktop per un elenco di tutte le risorse caricate (non caricate da javascript, che vale la pena tenerlo a mente), se usi Windows puoi usare il link sleuth di Xenu . Esporta il file TSV, quindi fai clic con il pulsante destro del mouse e apri con Excel, quindi ordina per URL, puoi quindi trovare quelle fastidiose risorse http per tutte le pagine del sito!

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.