Kontroll av blandat innehåll

HTML att skanna

Upptäcker http://-resurser som laddas inuti en HTTPS-sida.

Nästa

Efter att ha migrerat en webbplats till HTTPS bryter kvarvarande <img>-, <script>-, <link>- eller <iframe>-taggar som fortfarande pekar på http://... det gröna hänglåset och misslyckas, i moderna webbläsare, ofta helt med att laddas. Ange en URL så laddar den här kontrollen sidan, inspekterar varje delresurs (bilder, stilmallar, skript, typsnitt, iframes, video, ljud) och listar allt som serveras över vanlig HTTP så att du kan åtgärda det innan användare träffar en varning om “inte helt säker”.

Så fungerar skanningen

  1. 1

    Ange en URL

    HTTPS-URL. Skannern följer ett omdirigeringshopp.

  2. 2

    Sidan hämtas

    HTML tolkas efter varje delresursreferens.

  3. 3

    Varje referens klassificeras

    HTTPS, HTTP eller protokollrelativ (`//cdn...`).

  4. 4

    Rapport grupperad efter typ

    Aktivt kontra passivt innehåll, med allvarlighetsrankning.

Aktivt kontra passivt blandat innehåll

Webbläsare behandlar två klasser olika:

  • Aktivt blandat innehåll (skript, iframes, stilmallar, XHR/fetch, workers, WebSockets). Blockeras helt av moderna webbläsare. Inkluderar: <script>, <link rel="stylesheet">, <iframe>, fetch(), XMLHttpRequest, importScripts().
  • Passivt blandat innehåll (bilder, video, ljudposters). Laddas men flaggas, hänglåset försvinner och URL-fältet visar en varning. Inkluderar: <img>, <audio>, <video>, formulärets action-mål.

Varför det spelar roll

  • Förtroende. Ett brutet hänglås signalerar “den här webbplatsen är inte säker” till användare som lägger märke till det.
  • Funktionalitet. Blockerat aktivt innehåll innebär att skript inte körs och stilmallar inte tillämpas, sidor ser trasiga ut.
  • SEO. Google föredrar HTTPS-sidor; brutna HTTPS-signaler skadar rankningen indirekt.
  • Efterlevnad. PCI DSS och många andra efterlevnadsramverk kräver HTTPS utan blandat innehåll för transaktionssidor.

Vanliga källor

Källa Typisk åtgärd
Äldre CDN på HTTP Byt domän till HTTPS-CDN
Inbäddad gammal embed-kod för YouTube / Vimeo Uppdatera embed till aktuell version
Skript-URL:er för annonsnätverk Använd HTTPS-versionen (finns sedan år)
Tredjepartstypsnitt, kartor Byt http://fonts.googleapis.com → https://
Widgets för delningsknappar Använd aktuell widgetkod
Användargenererade bild-URL:er Skriv om vid sparande; proxyladda vid visning
Hårdkodade URL:er i blogginlägg Sök-och-ersätt i grupp i databasen

Åtgärdsstrategier

  1. Protokollrelativa URL:er (//cdn.example.com/a.js). Laddas med den aktuella sidans protokoll. Säkert för de flesta CDN:er men föråldrat, föredra explicit https://....
  2. Skriv om i källan. Uppdatera dina mallar och innehåll så att de använder https://. Skanna kodbasen med ett regex: http://(?!localhost).
  3. Uppgradering av Content Security Policy. Content-Security-Policy: upgrade-insecure-requests säger åt webbläsaren att tyst skriva om HTTP-resurs-URL:er till HTTPS. Bäst för webbplatser som inte kan granska varje URL.
  4. <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> inline-motsvarighet.
  5. Proxa HTTP-only-resurser genom ditt HTTPS-ursprung om uppströmskällan verkligen saknar HTTPS-slutpunkt (sällsynt idag).

Vad kontrollen hittar

  • Alla externa URL:er som refereras i <img>, <script>, <link>, <iframe>, <video>, <audio>, <source>.
  • Formulärens action-attribut.
  • Inline-CSS-url(...)-referenser i <style>-block.
  • Genomsöker inte JavaScript-injicerade resurser, de läggs till vid körtid och behöver en granskning på webbläsarsidan (Issues-panelen i Chrome DevTools fångar dem).

Vanliga frågor

Delvis. CSP-headern upgrade-insecure-requests eller meta-taggen säger åt webbläsare att skriva om HTTP-delresurs-URL:er till HTTPS automatiskt. Det fungerar när servern faktiskt stöder HTTPS; om uppströmskällan är HTTP-only misslyckas omskrivningen.

Nej. Endast resurser som refereras i statisk HTML. Skript som skapar <img>-element vid körtid visas inte. Issues-panelen i Chrome DevTools fångar dem i webbläsaren.

De är säkra mot blandat innehåll på HTTPS-sidor (de ärver HTTPS). Men de går sönder på HTTP-only-interna verktyg eller arkiverade sidor, och de är föråldrade. Föredra explicit https://.

Webbläsarcache. Hård uppdatering (Ctrl+Shift+R / Cmd+Shift+R) eller testa i ett inkognitofönster för att bekräfta åtgärden. CSP-rapporter och konsolvarningar visar det aktuella tillståndet.

En hämtare på serversidan hämtar sidan för analys. Själva URL:en lagras inte längre än begäran.

Relaterade verktyg

Verktyget finns på andra språk