headeraudit.nl
← BlogPraktijkgids

Clickjacking anno 2026: waarom X-Frame-Options verouderd is (en wat je nu moet gebruiken)

headeraudit.nl · leestijd 4 minuten

X-Frame-Options (XFO) is decennialang de verdedigingslinie geweest tegen clickjacking. In een modern ecosysteem van multi-domein architecturen en micro-frontends schiet deze header echter tekort. Waar we vroeger genoeg hadden aan een binaire keuze (wel of geen iframe), vereisen huidige applicaties complexe integraties waarbij specifieke vertrouwde partners content moeten kunnen inbedden.

Strategisch belang

Vasthouden aan verouderde headers zoals XFO in een micro-frontend architectuur leidt onvermijdelijk tot configuratiefouten en onveilige uitzonderingen, omdat XFO simpelweg niet ontworpen is voor het toestaan van meerdere specifieke origins.

De tekortkomingen van X-Frame-Options vs. CSP frame-ancestors

De limitatie van X-Frame-Options zit in de syntax: je kunt slechts één waarde opgeven (DENY of SAMEORIGIN). Het is technisch onmogelijk om met XFO drie verschillende externe partnerdomeinen toestemming te geven.

De frame-ancestors directive binnen CSP is de moderne standaard. Deze biedt de granulaire controle die nodig is voor portalen en gelaagde applicaties. Je kunt een lijst van vertrouwde origins definiëren die de pagina mogen inladen. Voor achterwaartse compatibiliteit met legacy browsers (zoals IE11) is het raadzaam om beide headers te sturen; moderne browsers geven prioriteit aan frame-ancestors boven XFO.

Implementatiegids

Hieronder volgt de configuratie voor het toestaan van de eigen origin plus twee externe partners.

Nginx

add_header Content-Security-Policy "frame-ancestors 'self' https://trustedsite.com https://anothersite.nl;" always;
# Optionele fallback voor legacy browsers
add_header X-Frame-Options "SAMEORIGIN" always;

Apache

Header set Content-Security-Policy "frame-ancestors 'self' https://trustedsite.com https://anothersite.nl;"
Header set X-Frame-Options "SAMEORIGIN"

Caddy

header {
    Content-Security-Policy "frame-ancestors 'self' https://trustedsite.com https://anothersite.nl"
    X-Frame-Options "SAMEORIGIN"
}

Het vervangen van legacy technieken door CSP-directives maakt je stack flexibeler voor moderne integraties. Meer over de header-gewichten en de volledige aanbevolen waarden vind je op de X-Frame-Options-pagina.

Test je site nuVolgende: headers bij Cloudflare & reverse proxies →
Clickjacking anno 2026: waarom X-Frame-Options verouderd is — headeraudit.nl