HTTPS is niet genoeg: wat er nog meer nodig is voor veilige communicatie
Iedereen kent het slotje in de browser. Dat slotje, HTTPS, is inmiddels standaard. Vercel, Netlify, Supabase: ze zetten het er automatisch op. Geen gedoe mee.
Maar dat slotje doet minder dan de meeste mensen denken.
Wat HTTPS wel doet
HTTPS versleutelt het verkeer tussen de browser van je gebruiker en jouw server. Iemand die op hetzelfde wifi-netwerk zit, kan niet meelezen wat er heen en weer gaat.
Dat is nuttig. Maar het is niet genoeg.
Wat HTTPS niet doet
HTTPS zegt niets over wat er op jouw server staat. Een hacker die toegang heeft tot jouw database, wordt niet tegengehouden door HTTPS. Een slecht beveiligde API-route ook niet. En als een deel van je pagina via HTTP wordt geladen (een afbeelding of een script van een externe bron), dan kan iemand alsnog meekijken. Dit heet mixed content.
HTTPS beveiligt de weg, niet de bestemming.
Drie dingen die je aanvullend nodig hebt
1. HSTS (HTTP Strict Transport Security)
Dit zegt tegen browsers: laad deze site altijd via HTTPS, ook als iemand http:// intypt. Zonder HSTS is er een kort moment bij het eerste bezoek waarop iemand het verkeer kan onderscheppen.
Het instellen ervan is één header:
Strict-Transport-Security: max-age=31536000; includeSubDomains
Bij Vercel kun je dit instellen via vercel.json of de headers-configuratie.
2. Geen mixed content
Als jouw HTTPS-pagina een plaatje of script laadt via HTTP, trekt de browser de beveiliging in twijfel. Controleer dit via de browser-console (tab “Console” of “Security”). Je ziet het meteen als er iets mis is.
3. Beveiligingsheaders
Er zijn een paar HTTP-headers die browsers beschermen tegen veelvoorkomende aanvallen. De belangrijkste:
Content-Security-Policy: voorkomt dat externe scripts worden geladen die jij niet kentX-Frame-Options: voorkomt dat jouw site in een iframe van iemand anders wordt geladenX-Content-Type-Options: voorkomt dat browsers bestanden verkeerd interpreteren
Je kunt je headers gratis testen op securityheaders.com.
Hoe je dit snel aanpakt
Plak je domeinnaam in securityheaders.com. Krijg je een D of F? Dan missen er headers. De meeste zijn in een paar minuten toe te voegen aan je hosting-configuratie.
Wil je weten hoe jouw app scoort op dit soort technische checks? Bij een controle kijken we dit standaard na.
Wil je jouw project laten controleren?
Binnen 3 dagen een concreet rapport van een specialist.
Laat jouw project controleren →