Zie je dat slotje hier bovenaan de pagina? Het icoontje vóór de domeinnaam in de adresbalk? Dat staat voor een veilige verbinding. Althans, een gesloten slotje. Op het moment dat het slotje open is, een rode streep bevat of zelfs overgaat in een rode driehoek met een uitroepteken, dan is het foute boel.
Wat is mixed content?
Heel letterlijk: veilige content gemixt met onveilige content. Mixed content speelt op wanneer er op een HTTPS-pagina bepaalde bronnen via HTTP worden binnengehaald. Dit kan voorkomen doordat content op een pagina meestal niet vanuit één html-bestand ingeladen wordt, maar ook vanuit andere bronnen, zoals video’s of scripts. Op het moment dat er een onderdeel over een onveilige verbinding wordt geladen, spreken we van mixed content.
Wanneer een HTTPS-pagina inhoud via HTTP bevat, gaat dit ten koste van de veiligheid van de hele pagina. Dit heeft te maken met het feit dat het niet-beveiligde gedeelte toegankelijk is voor sniffers. In theorie kunnen onveilige bronnen vervangen door iets anders, of aangepast worden. Het inladen van HTTP-content wordt opgemerkt door de browser, met een waarschuwing (het openstaande slotje) – of zelfs een gehele blokkade van de webpagina – tot gevolg.
Wat is het verschil HTTP en HTTPS?
Kort gezegd is HTTPS de beveiligde versie van HTTP (de ‘S’ staat voor Secure). HTTP is de afkorting van Hypertext Transfer Protocol en het is een structuur voor het overbrengen en ontvangen van informatie op het internet. HTTPS volgt dezelfde protocollen als HTTP, maar gebruikt hierboven op een extra laag: Secure Sockets Layer. Wellicht ken je dit als een SSL-certificaat.
HTTPS moet worden gebruikt voor alle beveiligde informatie-uitwisselingen, zoals naw-gegevens of het uitvoeren van transacties. Het gebruik van HTTPS heeft ten opzichte van HTTP drie voordelen, aldus Google:
- Authenticatie (de website wordt geverifieerd).
- Gegevensintegriteit (gegevens kunnen niet worden gewijzigd of beschadigd tijdens verzending).
- Encryptie (de overgedragen gegevens voor beveiliging.
Geen wonder dus, dat het gebruik van HTTPS een officiële rankingsfactor is.
Twee typen mixed content
Volgens Google zijn er 2 typen mixed content: actief en passief. Passieve mixed content is inhoud dat niet communiceert met de rest van de pagina. Voorbeelden zijn afbeeldingen, video en audio inhoud.
Actieve mixed content communiceert wél met de rest van de pagina. Dit type van mixed content is dan ook ‘gevaarlijker’. Voorbeelden zijn scripts, iframes, flash bronnen, CSS, stylesheets en andere codes die de browser kan downloaden en uitvoeren. Wanneer een script via HTTP ingeladen zou worden, zou een indringer er aanpassingen in kunnen maken en zo gevoelige informatie doorsluizen.
Dat moeten we dus niet hebben.
Hoe herken ik mixed content?
Het slotje voor je domeinnaam dus. Maar om dit voor elke pagina handmatig te checken, wordt een tijdrovende klus. Gelukkig is er allerhande tooling die je hierbij kan helpen, zoals de Website Auditor of de JitBit SSL-checker. Deze software crawlt de pagina’s van je website en geeft aan welke bronnen via HTTP worden ingeladen. Maar natuurlijk helpen wij je ook graag een handje 😉