Een oordeel over één specifiek verzoek
Toegestaan of geblokkeerd, voor precies de methode, headers, origin en credentialsmodus die je beschrijft, met de controle die het bepaalde erbij genoemd. Geen lijst headers die je zelf moet duiden.
Vind de controle die je cross-origin verzoek blokkeert
Zou een browser je code deze respons laten lezen? En zo niet, welke controle zei nee.
Dit is de diagnose van één verzoek, geen headerdump. Je beschrijft de aanroep die je code doet - het eindpunt, de origin waarop hij draait, de methode, de headers die hij zet, of hij credentials meestuurt - en de tool zegt of een browser je de respons zou laten lezen, en welke controle dat precies bepaalde.
Een server die elke origin antwoordt met diezelfde origin ziet er identiek uit als een correct ingerichte toegestane lijst, zolang je alleen je eigen origin test. Eén verzoek vanaf een origin die de server nooit heeft gezien scheidt die twee, en dat telt, want een server die de origin terugkaatst in combinatie met credentials is precies de configuratie die een respons leesbaar maakt voor elke site die de gebruiker bezoekt.
| Header | Met credentials |
|---|---|
| Access-Control-Allow-OriginGeen jokerteken | Moet de origin noemen. Een sterretje wordt ronduit geweigerd, ook naast Access-Control-Allow-Credentials: true. |
| Allow-Methods, Allow-Headers, Expose-HeadersLetterlijk | Een sterretje is geen jokerteken meer en wordt gelezen als letterlijke header- of methodenaam. |
| Access-Control-Allow-CredentialsVerplicht | De enige geaccepteerde waarde is precies de kleine-letterstring true. |
Elke bevinding draagt een ernst, een categorie, de fase waaruit ze komt, het bewijs waarop ze steunt, de headers die ze betreft en een aanbeveling. De geslaagde controles staan er ook, dus een schoon resultaat is zichtbaar in plaats van alleen leeg. Twee regels die de aanbevelingen volgen, omdat het voor de hand liggende advies vaak het verkeerde is: niets hier zegt dat je een methode, header of origin moet openzetten alleen om een rood vak te laten verdwijnen - een geblokkeerde DELETE kan een correct afgesloten eindpunt zijn - en niets hier stelt ooit voor een willekeurige Origin terug te kaatsen. Het antwoord is een toegestane lijst, elke keer.
CORS bepaalt welke origins een respons binnen een browser mogen lezen. Het is geen authenticatie, het geeft geen rechten, en het stopt geen cross-site request forgery, want een CSRF-aanval hoeft de respons nooit te lezen. Elke client die geen browser is negeert het volledig. Deze tool zegt dat uitdrukkelijk, in plaats van een groen oordeel te laten suggereren dat je eindpunt beschermd is.
De belangrijkste mogelijkheden praktisch uitgelegd.
Toegestaan of geblokkeerd, voor precies de methode, headers, origin en credentialsmodus die je beschrijft, met de controle die het bepaalde erbij genoemd. Geen lijst headers die je zelf moet duiden.
Zes fasen, elk gemeld zodra ze vaststaat. De OPTIONS-preflight gaat eruit zoals een browser hem zou sturen, en daarna volgt het echte verzoek, want de preflight alleen toont nooit de CORS-headers van de echte respons.
Een verzoek is alleen eenvoudig als de methode GET, HEAD of POST is en elke header op de CORS-safelist staat, waarbij Content-Type beperkt is tot drie waarden. De tool past de regel toe in plaats van te gokken, en daar komt het onverwachte OPTIONS-verzoek meestal vandaan.
Eén extra verzoek vanaf een origin die de server nooit heeft gezien scheidt een echte toegestane lijst van een server die alles terugkaatst wat hij krijgt. Die twee zien er identiek uit als je alleen je eigen origin test.
Een jokerteken-origin wordt ongeldig, en sterretjes in Allow-Methods, Allow-Headers en Expose-Headers zijn geen jokertekens meer maar letterlijke namen. De analyse past de strengere regelset toe, niet de bekende.
Een browser begint zijn CORS-controle bij elke omleiding opnieuw, dus elke sprong wordt opnieuw beoordeeld voordat hij wordt gevolgd. Een keten die op een toegeeflijke plek eindigt, kan halverwege alsnog geblokkeerd zijn.
Tot tien extra origins getest tegen hetzelfde eindpunt en getoond als tabel, de snelste manier om te bevestigen dat lokaal, staging en productie allemaal op de toegestane lijst staan en niets meer.
Elk draagt een ernst, een categorie, de fase waaruit het komt, het bewijs erachter en de headers die het betreft, naast de geslaagde controles. Geen enkele aanbeveling zegt dat je een methode, header of origin moet openzetten alleen om een waarschuwing te laten verdwijnen.
Een duidelijk pad van de officiële bron naar je eerste geslaagde workflow.
Gebruik een van de officiële links voor je apparaat of browser.
Volg de instructies van de store of open de webapplicatie. Geen installatieprogramma's van derden.
Bekijk de opties, kies je voorkeuren en begin met de belangrijkste workflow.
Een transparant overzicht van de kerntechnologieën waarmee dit product wordt gebouwd en onderhouden.
Je gegevens blijven op je apparaat. Altijd.