Defaults.Exposed › Oplossingen › Cross-origin-isolatieheaders (COOP / CORP / COEP)
Hoe je Cross-origin-isolatieheaders (COOP / CORP / COEP) oplost
Drie optionele browserinstructies die bepalen hoe andere websites met de uwe mogen omgaan — haar openen in pop-ups, haar afbeeldingen en scripts insluiten, of haar bronnen in hun eigen pagina's trekken. Het is moderne verharding, geen basale must-have, en op onze scoring zijn ze informatief: het ontbreken verlaagt uw cijfer niet. Maar de twee veilige sluiten een stil phishing- en bandbreedtediefstalgat, en het IT-team van een zorgvuldige koper merkt het op wanneer ze aanwezig zijn.
De kern voor je bedrijf: Twee van deze drie headers gooien geraffineerde pop-upphishing dicht en beletten andere sites uw afbeeldingen en scripts te hotlinken (wat bandbreedte kost en data kan lekken). Ze zijn gratis, kosten een ontwikkelaar zo'n 15 minuten, en breken niets. De derde is geavanceerd en kan analytics, lettertypen en embeds breken — de meeste bedrijven laten hem beter uit. Geen ervan raakt uw cijfer, dus behandel ze als afwerking, niet als paniek: doe de twee veilige, sla de riskante over tenzij u hem specifiek nodig heeft.
Wat dit je kan kosten
- Een oplichter opent uw echte site in een pop-upvenster en behoudt daar afstandsbediening over — en stuurt uw klant stilletjes door naar een nepinlog zodra die wegkijkt. De veilige header (COOP) snijdt die besturingsverbinding volledig door.
- Andere websites sluiten uw productfoto's, logo's en scripts rechtstreeks vanaf uw server in (hotlinking) — u betaalt elke keer de bandbreedte als hun bezoekers de pagina laden, en uw assets duiken op op sites die u nooit zou goedkeuren.
- Het securityteam van een prospect draait vóór ondertekening een headerscan en ziet dat u moderne cross-origin-verharding heeft toegevoegd — klein signaal, maar het zet u in de kolom „ze nemen dit serieus” in plaats van „het absolute minimum”.
- Een ontwikkelaar zet, om grondig te zijn, de geavanceerde isolatieheader (COEP) aan zonder testen — en breekt van de ene op de andere dag uw Google Analytics, weblettertypen en ingesloten boekingswidget. Weten welke header veilig en welke riskant is, voorkomt een zelf veroorzaakte storing.
- De checklist van een auditor noemt cross-origin-isolatie; u toont liever „aanwezig en correct” op de twee veilige dan uit te leggen waarom er niets is.
Waarom het ertoe doet. Dit zijn vooruitkijkende browserverhardingsheaders. In onze methodologie zijn alle drie informatief — ze zijn geregistreerd met nul punten en bewegen uw cijfer nooit — omdat het geavanceerde besturingen zijn waar een site legitiem zonder kan werken, en omdat een ervan schade kan doen bij verkeerd gebruik. We rapporteren erover zodat u kunt zien waar u staat. De twee veilige (COOP en CORP) zijn echt het toevoegen waard: gratis, snel, en ze sluiten reële pop-upphishing- en brondiefstalgaten zonder iets te breken.
Wat deze zijn, in gewone woorden
Wanneer iemand uw website bezoekt, laadt zijn browser uw pagina’s niet alleen geïsoleerd — hij beslist ook hoe andere websites met de uwe mogen omgaan. Mag een andere site uw site in een pop-up openen en die vasthouden? Mag een andere site uw afbeeldingen en scripts in zijn eigen pagina’s insluiten? Mag uw eigen site bepaalde krachtige, afgegrendelde browserfuncties veilig gebruiken?
Deze drie headers zijn korte, onzichtbare instructies die uw website naar de browser van elke bezoeker stuurt om precies die vragen te beantwoorden. Ze staan bekend onder hun initialen:
- COOP — Cross-Origin-Opener-Policy. Bepaalt of andere sites die de uwe in een pop-upvenster openen er afstandsbediening over kunnen houden.
- CORP — Cross-Origin-Resource-Policy. Bepaalt of andere sites uw afbeeldingen, scripts en andere bestanden in hun eigen pagina’s mogen insluiten.
- COEP — Cross-Origin-Embedder-Policy. Een geavanceerde besturing die, gecombineerd met COOP, uw pagina „isoleert” zodat ze bepaalde krachtige browserfuncties veilig kan gebruiken.
Twee ervan (COOP en CORP) zijn veilig toe te voegen en echt nuttig. De derde (COEP) is geavanceerd en kan dingen breken bij achteloos aanzetten.
Het belangrijkste om vooraf te weten: in onze scoring zijn alle drie informatief. Ze raken uw cijfer niet. Een ontbrekende kost u niets. We rapporteren erover zodat u kunt zien waar u staat en de makkelijke winsten kunt opruimen — niet zodat u panikeert over een getal.
Wat dit u kan kosten
Dit zijn nicherisico’s, geen koprisico’s — maar ze zijn reëel, en de oplossingen zijn gratis.
-
Pop-upphishing die afstandsbediening over uw echte site behoudt. Zonder COOP kan de pagina van een oplichter uw werkelijke website in een pop-upvenster openen en er een levende verwijzing naar vasthouden. Terwijl de aandacht van uw klant op de pagina van de oplichter is, kan de aanvaller die pop-up — uw echte domein in de adresbalk — omleiden naar een nepinlog- of betaalscherm op precies het moment dat de klant zich er weer naartoe keert. COOP op „same-origin” snijdt die besturingsverbinding door zodat de pop-up niet bestuurd kan worden.
-
Andere sites die uw bandbreedte stelen (en uw assets neerzetten waar u ze niet wilt). Zonder CORP kan elke website op internet uw productfoto’s, logo’s, scripts en andere bestanden rechtstreeks vanaf uw server insluiten — „hotlinking”. Elke bezoeker van hun pagina downloadt het bestand van u, op uw bandbreedterekening, met uw asset getoond in een context die u nooit goedkeurde. CORP op „same-origin” belet externe sites uw bronnen in te sluiten.
-
Een stil datalekpad voor geavanceerde browseraanvallen. Dezelfde cross-origin-insluiting die hotlinking mogelijk maakt, is ook een van de paden die geraffineerde side-channel-browseraanvallen (de Spectre-familie) gebruiken om data te lezen die ze niet zouden mogen. COOP en CORP samen sluiten dat pad op browserniveau. Voor de meeste kleine bedrijven is dit dubbel-uitgevoerd, maar het is gratis dubbel uitgevoerd.
-
Een zelf veroorzaakte storing door de verkeerde header. De geavanceerde, COEP, eist dat elke bron die uw site laadt zich expliciet aanmeldt. Zet hem aan zonder testen en uw analytics, weblettertypen, ingesloten kaarten, boekingswidgets en scripts van derden kunnen allemaal stoppen met laden — omdat geen ervan gevraagd is zich aan te melden. Dit is de ene manier waarop deze headers u echt schade kunnen doen, en het is volledig te vermijden: zet COEP niet aan zonder testen.
-
Een gemist makkelijk signaal naar zorgvuldige kopers. Wanneer het IT-team van een prospect uw headers scant vóór ondertekening, is moderne cross-origin-verharding op zijn plek vinden een klein maar reëel „deze mensen nemen security serieus”-signaal. Het wint op zichzelf geen deal — maar het is gratis om aan de goede kant van dat grootboek te staan.
Wat elk feitelijk is
COOP — Cross-Origin-Opener-Policy (veilig, aanbevolen)
Wanneer een andere website de uwe opent via een pop-up of window.open, kunnen de twee vensters normaal een verwijzing naar elkaar houden. Die verbinding kan misbruikt worden: de opener kan uw venster manipuleren of omleiden, fragmenten van de URL lezen, en overtuigende phishing opzetten met uw echte domein. COOP: same-origin verbreekt die relatie — uw venster raakt geïsoleerd van alles wat het over origins heen opende. Normaal browsen, uw eigen interne links en gewone navigatie blijven volledig onaangeroerd.
Hoe „goed” eruitziet: Cross-Origin-Opener-Policy: same-origin.
CORP — Cross-Origin-Resource-Policy (veilig, aanbevolen)
Standaard kunnen uw afbeeldingen, scripts en andere bestanden door elke site overal worden ingesloten. CORP: same-origin zegt browsers cross-origin-insluiting van uw bronnen te weigeren — zodat andere sites uw assets niet kunnen hotlinken of in hun pagina’s trekken. Uw eigen site laadt zijn eigen bronnen precies als voorheen; alleen externe sites worden geblokkeerd.
Hoe „goed” eruitziet: Cross-Origin-Resource-Policy: same-origin. (Publiceert u bewust assets voor anderen om in te sluiten — een publiek logo, een open API — dan kan uw ontwikkelaar dit op die specifieke responses versoepelen.)
COEP — Cross-Origin-Embedder-Policy (geavanceerd, meestal uit laten)
COEP voltooit „cross-origin-isolatie”: gecombineerd met COOP vereist hij dat elke bron die uw pagina laadt zich expliciet aanmeldt (via CORS of CORP). Goed gedaan ontgrendelt dit bepaalde krachtige browserfuncties (zoals SharedArrayBuffer) en voegt een extra laag tegen Spectre-klasse-aanvallen toe. Maar omdat hij aanmelding eist van alles wat u laadt, breekt hij gemakkelijk tools van derden — analytics, lettertypen, ingesloten widgets — die niet gebouwd zijn om zich aan te melden. De meeste websites hebben de functies die hij ontgrendelt niet nodig en zouden het risico op breuk niet moeten dragen.
Hoe „goed” eruitziet: voor de zeldzame site die hem nodig heeft, Cross-Origin-Embedder-Policy: credentialless — de veiligere waarde, minder kans om externe bronnen te breken dan require-corp. Voor iedereen anders is afwezig prima, en ons rapport straft u er niet voor.
Hoe los je het op (gratis, ~15 minuten)
Geef dit aan uw IT’er of webontwikkelaar — de oplossing is gratis. COOP en CORP toevoegen zijn een paar instellingen van één regel op uw server of CDN; er is geen licentie en geen doorlopende kosten. De enige instructie voor de eigenaar is: doe de twee veilige, en zet COEP niet aan zonder testen.
Dit zijn response-headers, ingesteld waar de responses van uw site worden geproduceerd — het makkelijkst bij uw CDN (bijv. Cloudflare) als u dat heeft, anders in uw webserverconfig.
De twee veilige headers (aanbevolen voor iedereen)
Cloudflare — Rules → Transform Rules → Modify Response Headers → Set:
Cross-Origin-Opener-Policy=same-originCross-Origin-Resource-Policy=same-origin
Nginx:
add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Cross-Origin-Resource-Policy "same-origin" always;
Apache:
Header always set Cross-Origin-Opener-Policy "same-origin"
Header always set Cross-Origin-Resource-Policy "same-origin"
Deze zijn veilig toe te voegen en breken geen normale functionaliteit. Herlaad na het uitrollen een paar pagina’s en bevestig dat de site zich precies als voorheen gedraagt (dat zou moeten).
De geavanceerde header (alleen als u hem specifiek nodig heeft)
Zet deze niet aan zonder eerst op staging te testen. COEP kan analytics, lettertypen en ingesloten widgets breken.
Cloudflare: Transform Rules → Set Cross-Origin-Embedder-Policy = credentialless.
Nginx:
add_header Cross-Origin-Embedder-Policy "credentialless" always;
Gebruik credentialless in plaats van require-corp — minder kans om externe bronnen te breken. Test grondig op staging; let op elk script, lettertype of embed van derden dat stopt met laden. Breekt er iets en heeft u de functies die COEP ontgrendelt niet echt nodig, verwijder dan simpelweg de header — er is geen straf voor het niet hebben ervan.
Platformnotities
- Google Workspace / Microsoft 365: deze voeden uw e-mail, niet uw website, dus hier valt niets in te stellen. Deze headers horen bij wat uw website host (uw CDN, host of server).
- Gangbare managed hosts / sitebouwers (Wix, Squarespace, Shopify, enz.): aangepaste response-headers zijn op lagere abonnementen mogelijk niet configureerbaar. Kunt u ze niet toevoegen, dan is dat prima — deze zijn informatief en raken uw cijfer niet. Uw site achter een CDN als Cloudflare zetten is de gebruikelijke manier om headercontrole te krijgen.
- WordPress op uw eigen hosting: stel ze in in uw webserverconfig (Nginx/Apache hierboven) of via uw CDN, waar mogelijk niet in een plugin — server-/CDN-niveau is schoner en geldt voor elke response.
Veelgemaakte fouten
- COEP „om grondig te zijn” aanzetten en de site breken. Dit is de grote. COEP eist aanmelding van alles wat u laadt; zet hem aan zonder testen en uw analytics, lettertypen en embeds kunnen verdwijnen. Heeft u de browserfuncties die hij ontgrendelt niet nodig, stel hem dan niet in.
- Ze als urgent behandelen omdat een scanner ze noemde. Ze zijn informatief. De gescoorde webheaders (HTTPS, HSTS, CSP, clickjacking, MIME-sniffing) gaan eerst — los die op voordat u hier energie in steekt.
- CORP te streng instellen terwijl u juist insluitbare assets publiceert. Serveert u bewust een logo, badge of API voor andere sites, dan blokkeert een algehele
same-origin-CORP hen. Versoepel hem op alleen die responses in plaats van de header overal op te geven. - De header op pagina-/app-niveau toevoegen en sommige responses missen. Stel ze in op server- of CDN-niveau zodat ze voor elke response gelden (afbeeldingen, scripts, API-endpoints), niet alleen HTML-pagina’s.
- Ze verwarren met het SSL-hangslot. HTTPS versleutelt de verbinding; deze regelen cross-site-interactie. Ze staan los van elkaar, en u wilt beide.
Een noot over het cijfer
Om het volkomen duidelijk te stellen: geen van deze drie checks raakt uw cijfer. Ze zijn in onze methodologie geregistreerd als informatief, met nul punten, en een ontbrekende kost u nooit iets. We brengen ze naar voren omdat de twee veilige goedkope, echte verbeteringen zijn en omdat het hele plaatje zien nuttig is — niet omdat er een getal te verdedigen valt. Doet u hier niets, dan is uw cijfer precies hetzelfde. Voegt u COOP en CORP toe, dan heeft u een paar reële (zij het niche) gaten gratis gedicht. Dat is de juiste manier om over deze pagina te denken: optionele afwerking, met één duidelijk gemarkeerde valkuil om te vermijden.
Veelgestelde vragen
Deze raken mijn cijfer niet — moet ik er überhaupt aan beginnen?
Twee ervan, ja; één, waarschijnlijk niet. COOP en CORP zijn gratis, kosten minuten en breken uw site niet — ze sluiten reële (zij het niche) aanvalspaden, dus ze zijn de moeite waard als goedkope hygiëne. COEP is geavanceerd en kan tools van derden breken, dus de meeste bedrijven laten hem beter uit tenzij ze specifiek de browserfuncties nodig hebben die hij ontgrendelt. Geen van de drie verandert uw score, dus er is geen haast — behandel de twee veilige als een opruimklusje wanneer uw ontwikkelaar de volgende keer in de site is.
Ik ben niet technisch — moet ik hier iets mee?
Niet persoonlijk, en niet met spoed. Omdat deze informatief zijn, gebeurt er niets met uw cijfer als u ze overslaat. Wilt u de twee veilige toevoegen, geef dan het onderdeel „Hoe los je het op” aan wie uw website of CDN beheert — het zijn een paar instellingen van één regel en de oplossing is gratis. De enige om expliciet te markeren is COEP: zeg ze die niet aan te zetten zonder testen, want hij kan analytics en ingesloten widgets breken.
Wat is het verschil tussen deze en de headers die mijn cijfer WÉL raken?
De gescoorde websecurityheaders — HTTPS-omleiding, HSTS, Content-Security-Policy, clickjacking-bescherming (X-Frame-Options) en MIME-sniffing-bescherming — verdedigen tegen veelvoorkomende, breed misbruikte aanvallen, dus het ontbreken kost punten. De drie op deze pagina (COOP, CORP, COEP) zijn nieuwere, gespecialiseerdere browserisolatiebesturingen. Ze zijn goede praktijk maar nog geen basisverwachting, dus we rapporteren ze zonder ze te scoren. Doe eerst de gescoorde; deze zijn de afwerking daarbovenop.
Breekt COOP of CORP toevoegen mijn website of de integraties van mijn partners?
De aanbevolen instellingen (beide „same-origin”) zijn ontworpen om veilig te zijn. COOP verbreekt alleen de verbinding naar vensters die uw site in pop-ups opent — normaal browsen, uw eigen pagina's en gewone links blijven onaangeroerd. CORP belet alleen *andere* sites uw afbeeldingen en scripts in te sluiten; uw eigen site laadt zijn eigen bronnen precies als voorheen. Als u werkelijk assets serveert (zoals een publiek logo of een API) die andere sites mogen insluiten, kan uw ontwikkelaar een toegeeflijker instelling gebruiken op die specifieke responses. Degene die echt risico op breuk loopt is COEP — laat die uit tenzij getest.
Wat kost „hotlinking” me echt?
Wanneer een andere site uw afbeelding of script rechtstreeks vanaf uw server insluit in plaats van een eigen kopie te hosten, downloadt elke bezoeker van hun pagina het van u — op uw bandbreedterekening, en met uw asset getoond in een context die u niet goedkeurde. Voor een klein bedrijf is het zelden catastrofaal, maar het is gratis geld dat de deur uitgaat, en CORP („same-origin”) stopt het op browserniveau. Het sluit ook een subtiel datalekpad dat geavanceerde (Spectre-klasse) browseraanvallen gebruiken.
Hoe ziet „goed” eruit voor elk van deze?
COOP: een Cross-Origin-Opener-Policy-header op „same-origin”. CORP: een Cross-Origin-Resource-Policy-header op „same-origin”. COEP: een Cross-Origin-Embedder-Policy-header — en als u hem überhaupt instelt, is „credentialless” de veiligere waarde dan „require-corp”. Ons rapport noteert simpelweg of elk aanwezig is en waarop hij staat; het straft u nooit voor een ontbrekende. Streef naar COOP en CORP aanwezig; laat COEP afwezig tenzij u hem getest heeft.