Skip to main content
Alle Termen Glossary

CORS (Cross-Origin Resource Sharing)

Definition

CORS is een beveiligingsfunctie geïmplementeerd door browsers die controleert hoe webpagina's in het ene domein kunnen verzoeken en interageren met bronnen van een ander domein. Het helpt ongeautoriseerde cross-origin toegang te voorkomen terwijl het legitieme cross-origin gegevensuitwisseling toestaat. CORS gebruikt HTTP-headers om een dialoog tussen browsers en servers tot stand te brengen, waarbij wordt bepaald of cross-origin verzoeken moeten worden toegestaan op basis van de origin en andere factoren.

Hoe CORS werkt

Cross-Origin Resource Sharing (CORS) is de gecontroleerde uitzondering op de same-origin policy. Het laat een server ervoor kiezen om zijn responses te delen met scripts van andere origins door specifieke HTTP-headers terug te sturen. Bij eenvoudige verzoeken stuurt de browser een Origin-header en controleert hij de Access-Control-Allow-Origin van de response voordat het aanroepende script de body mag lezen. Voor methoden of headers die de status kunnen wijzigen, stuurt de browser eerst een preflight OPTIONS-verzoek, en de server moet de methode, de headers en de origin goedkeuren. Wanneer er credentials zoals cookies bij betrokken zijn, moet de server Access-Control-Allow-Credentials: true instellen en een specifieke origin teruggeven in plaats van een wildcard. De browser dwingt dit allemaal af.

Waarom een verkeerde configuratie gevaarlijk is

CORS wordt vaak versoepeld totdat verzoeken niet langer mislukken, wat stilletjes de same-origin bescherming rond gevoelige endpoints afbreekt. De Origin-header van het verzoek terugkaatsen in Access-Control-Allow-Origin terwijl je ook credentials toestaat, laat in feite elke site geauthenticeerde responses lezen namens een ingelogd slachtoffer, waarmee accountgegevens of tokens worden blootgesteld. Vertrouwen op een wildcard, een te brede regex die door aanvallers beheerde subdomeinen matcht, of de letterlijke null-origin zijn veelgemaakte fouten. Omdat het probleem onzichtbaar is bij normaal gebruik en alleen naar voren komt wanneer het wordt misbruikt, is een te ruime CORS op een API een echt datalekrisico en geen cosmetische instelling.

CORS defensief configureren

Houd een expliciete allowlist van vertrouwde origins bij en vergelijk de binnenkomende Origin er exact mee, in plaats van terug te kaatsen wat er binnenkomt. Combineer nooit een wildcard met verzoeken die credentials bevatten, vermijd het toestaan van de null-origin en beperk ruime regels tot de kleinste set paden en methoden die ze echt nodig hebben. Houd preflight-caching (Access-Control-Max-Age) redelijk en controleer het beleid opnieuw wanneer er nieuwe subdomeinen verschijnen. CORS is een neutraal webplatformmechanisme, dus de belangrijkste verdediging is een correcte serverconfiguratie en review; een client-side monitoringlaag vult dit aan door in de gaten te houden hoe third-party scripts zich gedragen, maar CORS zelf valt onder de endpoints die je zelf beheert.

Definitie

Beschermt CORS mijn server tegen aanvallers?

Niet direct. CORS wordt afgedwongen door de browser en bepaalt of een script een cross-origin response mag lezen; het houdt niet-browserclients zoals curl of een server-side proxy er niet van tegen om je API uit te lezen. Het beschermt gebruikers ertegen dat hun geauthenticeerde responses door andere sites worden gelezen, niet de server tegen het aangeroepen worden.

Definitie

Waarom zie ik een preflight OPTIONS-verzoek vóór mijn echte verzoek?

De browser stuurt een preflight voor verzoeken die niet eenvoudig zijn, bijvoorbeeld verzoeken die PUT of DELETE, aangepaste headers of bepaalde content-types gebruiken. Hij vraagt de server, via headers, of de daadwerkelijke methode, headers en origin zijn toegestaan voordat het echte verzoek wordt verstuurd, waarmee onverwachte statuswijzigende aanroepen worden voorkomen.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Boek een demo

Wil je dit doornemen met een engineer?

Dertig minuten, op je eigen site. Geen slides.

We laten je zien:

Welke scripts van derden er nu op je site draaien
Hoe je ervoor staat op PCI DSS 6.4.3 en 11.6.1
Welk deel van je verkeer uit bots en AI-agents bestaat

Liever gewoon een vraag stellen?

Vrije momenten zoeken…

Alleen echte mensen. Wij merken het.

Lukt het boeken niet? Agenda in een nieuw tabblad openen

Wat wil je oplossen?

Vertel het ons in één zin, dan komen we terug met iets bruikbaars in plaats van een standaardverhaal.

Waar we meestal mee helpen:

Zien welke scripts van derden op je site draaien
Bewijs voor PCI DSS 6.4.3 en 11.6.1
Bots, AI-agents en accountovername

Liever meteen een moment inplannen? Kies een tijdstip