CORS-testare
Testa och diagnostisera Cross-Origin Resource Sharing (CORS)-rubriker för valfri URL
Exempel-URL:er att testa
Förstå CORS
Vad är CORS?
Cross-Origin Resource Sharing (CORS) är en säkerhetsmekanism som tillåter en webbsida från en ursprung att begära resurser från ett annat ursprung. Utan CORS blockerar webbläsare sådana korsdomänförfrågningar som standard för att förhindra säkerhetsrisker.
Så fungerar CORS
När en webbläsare gör en korsdomänförfrågan skickar den en Origin-rubrik. Servern måste svara med rätt Access-Control-Allow-Origin-rubrik. För icke-enkla förfrågningar skickar webbläsaren först en OPTIONS preflight-förfrågan för att kontrollera om den faktiska förfrågan är tillåten.
Viktiga CORS-rubriker
Access-Control-Allow-Origin anger tillåtna ursprung. Access-Control-Allow-Methods listar tillåtna HTTP-metoder. Access-Control-Allow-Headers definierar tillåtna förfrågningsrubriker. Access-Control-Allow-Credentials anger om cookies är tillåtna.
Felsöka CORS-fel
CORS-fel visas i webbläsarens konsol när en korsdomänförfrågan blockeras. Kontrollera att servern inkluderar rätt CORS-rubriker. För API:er, se till att servern tillåter ditt ursprung, de nödvändiga metoderna och alla anpassade rubriker du skickar.
CORS-testare
Testa och diagnostisera Cross-Origin Resource Sharing (CORS)-rubriker för valfri URL
Funktioner
- Send real HTTP requests to a target URL and inspect CORS-related headers in the response
- Reports Access-Control-Allow-Origin, Allow-Methods, Allow-Headers, Allow-Credentials, Max-Age
- Tests preflight (OPTIONS) and actual-request behaviour
- Runs in your browser — your request is sent FROM your origin, so the result reflects what your real app would see
- Useful for debugging CORS-blocked production fetches
Så använder du
- Ange URL:en du vill testa i inmatningsfältet eller välj en av de angivna exempel-URL:erna för snabb testning.
- Välj HTTP-metoden (GET, POST osv.) och lägg eventuellt till anpassade rubriker i avsnittet för avancerade alternativ.
- Klicka på 'Testa CORS' för att skicka en korsdomänförfrågan och se de detaljerade resultaten inklusive alla CORS-rubriker och deras värden.
Tips och bästa praxis
- Each test sends a real HTTPS request to the target URL — the URL and your IP are visible to the target server.
- CORS is enforced by the browser, not the server. The server sends headers; the browser decides whether to expose the response to JS.
- For wildcard ACAO (`Access-Control-Allow-Origin: *`), the request will succeed but credentials (cookies) won't be sent — that's the spec.
- Preflight (OPTIONS) is sent only for non-simple requests (custom headers, non-GET/POST methods, JSON body in some cases).
- If the test fails, check the browser devtools Network tab — the actual error message is more detailed than this tool can surface.
Vanliga frågor
Vad är CORS och varför är det viktigt för webbutvecklare?
CORS (Cross-Origin Resource Sharing) är en säkerhetsfunktion i webbläsaren som styr vilka webbsidor som kan göra förfrågningar till en annan domän än den som levererade sidan. Det är viktigt eftersom moderna webbapplikationer ofta behöver anropa API:er på olika domäner, och utan korrekt CORS-konfiguration blockeras dessa förfrågningar av webbläsaren. Att förstå CORS är väsentligt för att bygga applikationer som interagerar med tredjeparts-API:er eller mikrotjänster.
Varför får jag ett CORS-fel även om API:et fungerar i Postman eller curl?
CORS är en säkerhetspolicy som tillämpas av webbläsaren, inte en serversidans begränsning. Verktyg som Postman och curl kringgår CORS helt eftersom de inte är webbläsare och inte tillämpar same-origin-policyn. Webbläsaren kontrollerar specifikt CORS-rubriker i serverns svar och blockerar förfrågan om de saknas eller är felaktiga. Det är därför ett API kan fungera perfekt i Postman men misslyckas i en webbläsarapplikation.
Vad är en preflight-förfrågan och när skickar webbläsaren den?
En preflight-förfrågan är en OPTIONS-förfrågan som webbläsaren automatiskt skickar före den faktiska förfrågan för att kontrollera om servern tillåter korsdomänförfrågan. Webbläsaren skickar en preflight för förfrågningar som använder andra metoder än GET, HEAD eller POST, eller som inkluderar anpassade rubriker, eller som använder andra Content-Type-värden än application/x-www-form-urlencoded, multipart/form-data eller text/plain. Servern måste svara med lämpliga CORS-rubriker för att tillåta att den faktiska förfrågan fortsätter.
Vad betyder Access-Control-Allow-Origin: * och är det säkert?
Jokertecken-värdet * betyder att servern tillåter förfrågningar från valfritt ursprung. Även om det är bekvämt för publika API:er kan det vara en säkerhetsrisk för privata API:er som hanterar känsliga data. När * används kan servern inte också ange Access-Control-Allow-Credentials till true. För API:er som kräver autentisering bör du ange exakta tillåtna ursprung istället för att använda jokertecknet.
Hur kan jag åtgärda CORS-fel på min server?
För att åtgärda CORS-fel måste du konfigurera din server så att den inkluderar lämpliga CORS-rubriker i sina svar. Lägg minst till Access-Control-Allow-Origin med antingen ett jokertecken (*) eller det specifika begärande ursprunget. För icke-enkla förfrågningar lägger du också till Access-Control-Allow-Methods och Access-Control-Allow-Headers. De flesta webbramverk har CORS-mellanprogrampaket som förenklar denna konfiguration, såsom cors för Express.js, django-cors-headers för Django eller rack-cors för Ruby on Rails.
Gör detta verktyg verkligen riktiga korsdomänförfrågningar?
Ja, detta verktyg gör riktiga fetch-förfrågningar från din webbläsare till URL:en du anger, vilket innebär att webbläsarens CORS-policy tillämpas fullt ut. Om målservern inte inkluderar CORS-rubriker blockerar webbläsaren svaret och verktyget visar status CORS blockerad. Detta ger dig en korrekt bild av hur din webbläsarapplikation skulle bete sig när den gör samma förfrågan.