CORS Ellenőrző

Ellenőrizze, hogy egy beillesztett válasz engedélyez-e egy adott böngésző eredetét, metódusát és kérésfejléceit.

Válasz az ellenőrzésre
Illessze be az állapotsort is a vizsgálat előtti válasz ellenőrzésekor.
Az Origin fejlécben elküldött séma, gazdagép és opcionális port.
Kapcsolja be a cookie-kat vagy HTTP-hitelesítést tartalmazó kérések esetén.
Böngésző döntés

    Elemelt Access-Control mezők

    HTTP status
    Access-Control-Allow-Origin
    Access-Control-Allow-Credentials
    Access-Control-Allow-Methods
    Access-Control-Allow-Headers
    Access-Control-Expose-Headers
    Access-Control-Max-Age

    Adja meg a válasz és a kérés részleteit, majd ellenőrizze a CORS szabályzatot.

    Illessze be a választ a CORS házirend ellenőrzéséhez.

    A fejlécek és a kérés részletei a böngészőben maradnak. A BroBroGo nem töltött fel és nem ment el semmit.

    GYIK

    A tényleges választ vagy a repülés előtti választ kell beilleszteni?

    Használja az Aktuális válasz lehetőséget annak ellenőrzésére, hogy a böngészőkód képes-e olvasni egy választ. Használja a Preflight választ a OPTIONS válaszhoz, amely jóváhagy egy későbbi metódust és annak kért fejlécneveit.

    Miért hibásodhat meg a helyettesítő karakter hitelesítő adatokkal?

    Cookie-k vagy HTTP-hitelesítés esetén az engedélyezett eredetnek pontosan meg kell egyeznie a kérés eredetével. Az engedélyezett metódusok és fejlécek helyettesítő karakterei szintén elveszítik helyettesítő karakter jelentésüket.

    Egy múló eredmény bizonyítja, hogy az élő kérés működni fog?

    Nem. Ez az eredmény csak a beillesztett választ és az itt megadott kérés részleteit tartalmazza. Az átirányítások, a gyorsítótárazott válaszok, a szerverszabályok megváltoztatása, a böngészőbővítmények és az előzetes ellenőrzés utáni tényleges válasz továbbra is megváltoztathatja az eredményt.

    A Cross-Origin Resource Sharing (CORS) szabályzat működése

    A modern webes biztonsági architektúra alapvető eleme a Cross-Origin Resource Sharing (CORS) szabályrendszer. A böngészők alapértelmezés szerint korlátozzák a különböző eredetek (origin) közötti HTTP-kéréseket, hogy megvédjék a felhasználókat a jogosulatlan adathozzáférésektől. Amikor egy kliensoldali alkalmazás egy másik tartományon található erőforrást próbál elérni, a böngésző a szerver által küldött HTTP-válaszfejlécek alapján dönti el, hogy az alkalmazás hozzáférhet-e a válaszhoz.

    A CORS szabályzat kiértékelése során a böngésző megvizsgálja a kérés paramétereit — például a kérést indító eredetet, a használt HTTP-metódust, a kért egyedi fejléceket, valamint a hitelesítő adatok jelenlétét —, majd ezeket összeveti a szerver válaszában található Access-Control-* fejlécekkel. Ha a szerver által visszaadott szabályok nem egyeznek meg a kérés tulajdonságaival, a böngésző blokkolja a válasz beolvasását, még akkor is, ha a hálózati kérés egyébként sikeresen lezajlott.

    A CORS Ellenőrző bemeneti paraméterei

    A CORS Ellenőrző eszköz segítségével pontosan elemezhető, hogy egy adott böngésző engedélyezni fog-e egy tervezett cross-origin kérést a megadott válaszfejlécek alapján. A kiértékeléshez az alábbi bemeneti mezők kitöltése szükséges:

    • Válasz az ellenőrzésre: Kiválasztható a Valós válasz vagy a Repülés előtti válasz opció.
    • HTTP válaszfejlécek: Ide kell beilleszteni a vizsgálni kívánt HTTP-válaszfejléceket. Ha előzetes ellenőrzést (preflight) vizsgál, az állapotsort is be kell illesztenie. A beviteli mező maximális hossza 200 000 karakter. Ha a mező üres, az "Az ellenőrzés előtt illessze be a HTTP válaszfejléceket." hibaüzenet jelenik meg. Amennyiben a beillesztett szöveg túl nagy, a rendszer a "Ez a válasz szokatlanul nagy. Tartsa ‹max› karakterek alatt." üzenettel figyelmeztet. Ha a beillesztett sorok nem felelnek meg a formátumnak, a "A ‹line› sor nem érvényes HTTP-fejléc vagy állapotsor." vagy a "A ‹line› sor érvénytelen HTTP-fejlécnevet tartalmaz." hibaüzenet látható.
    • Eredet kérése: A kérést kezdeményező oldal sémája, gazdagépe és opcionális portja (például https://app.example.com). Kizárólag tiszta eredet adható meg, URL-útvonal, lekérdezés (query) vagy hitelesítési adatok nélkül. Helytelen formátum esetén a "Adjon meg egy eredetet csak egy sémával, gazdagéppel és opcionális porttal, például https://app.example.com." hibaüzenet jelenik meg.
    • Kért módszer: A kéréshez használni kívánt HTTP-metódus. Érvénytelen token esetén a "Adjon meg egy érvényes HTTP metódus tokent." hibaüzenet jelenik meg, míg tiltott metódusok esetén a "A böngészők nem engedélyezik a ‹method› metódust a fetch kérésekben." figyelmeztetés látható.
    • Kért fejlécnevek: Az Access-Control-Request-Headers fejlécben küldeni kívánt egyedi kérésfejlécek listája, vesszővel vagy új sorral elválasztva (például Content-Type, Authorization). Érvénytelen fejléc esetén a "A „‹header›” nem érvényes HTTP-kérelem fejlécnév." hibaüzenet jelenik meg.
    • Tartalmazza a hitelesítő adatokat: Egy kapcsoló, amellyel jelezhető, hogy a kérés tartalmaz-e cookie-kat vagy HTTP-hitelesítést.

    Bármilyen beviteli hiba esetén a rendszer a "Javítsa ki a kiemelt bemenetet, és próbálja újra." általános hibaüzenetet jeleníti meg.

    A böngésző döntéseinek és okainak értelmezése

    Az ellenőrzés futtatása után az eszköz megjeleníti a Böngésző döntés eredményét, az elemzett Access-Control-* mezőket, valamint a döntés részletes indoklását.

    Kezdeti és üres állapotok

    • Ha még nem történt adatbevitel, a "Illessze be a választ a CORS házirend ellenőrzéséhez." üzenet látható.
    • Hiányos adatok esetén a rendszer az "Adja meg a válasz és a kérés részleteit, majd ellenőrizze a CORS szabályzatot." állapotot jelzi.

    A döntés kimenetei

    A kiértékelés eredménye háromféle lehet:

    1. A beillesztett CORS válasz engedélyezi.
    2. Letiltotta a beillesztett CORS válasz.
    3. A fejlécek áthaladnak, de a repülés előtti állapot nem ismert. (Ez akkor fordul elő, ha a preflight vizsgálat során nem lett beillesztve HTTP állapotsor).

    Az eredet (Origin) kiértékelésének szabályai

    A böngésző az Access-Control-Allow-Origin fejlécet vizsgálja az alábbi szabályok szerint:

    • Ha a fejléc pontosan megegyezik a megadott eredettel, a döntés indoklása: "A Access-Control-Allow-Origin pontosan megegyezik a ‹origin›-val.".
    • Ha a fejléc helyettesítő karaktert tartalmaz, az indoklás: "A Access-Control-Allow-Origin bármilyen eredetet engedélyez ehhez a kéréshez.".
    • Ha a fejléc hiányzik: "Access-Control-Allow-Origin hiányzik.".
    • Ha a kérés hitelesítő adatokat tartalmaz, de az engedélyezett eredet értéke *: "A Access-Control-Allow-Origin nem lehet *, ha hitelesítő adatok is szerepelnek benne.".
    • Ha az eredet nem egyezik meg a várt értékkel: "A Access-Control-Allow-Origin a ‹actual›, nem pedig a ‹expected›.".
    • Ha a fejléc több értéket tartalmaz vagy vesszővel elválasztott listát ad meg, az érvénytelennek minősül: "A Access-Control-Allow-Origin értéke érvénytelen: ‹value›.".

    A hitelesítő adatok (Credentials) hatása

    A cookie-k és a HTTP-hitelesítés jelenléte szigorítja a CORS szabályok kiértékelését:

    • Sikeres egyezés esetén: "A Access-Control-Allow-Credentials pontosan igaz.".
    • Ha a kérés hitelesített, de a fejléc hiányzik vagy nem true: "A hitelesítési adatokkal ellátott kérelemhez a Access-Control-Allow-Credentials: igaz.".
    • Ha a kérés nem tartalmaz hitelesítő adatokat: "A hitelesítő adatokat nem tartalmazza, így a Access-Control-Allow-Credentials nem befolyásolja ezt a döntést.".

    Preflight (előzetes) kérések és állapotsorok

    A nem egyszerű (például egyedi fejléceket használó vagy nem biztonságos metódusú) kérések előtt a böngésző egy előzetes OPTIONS kérést (preflight) küld. Ennek kiértékelése során az alábbi szabályok érvényesülnek:

    HTTP állapotsor ellenőrzése

    • Sikeres 2xx válaszkód esetén: "A ‹status› elővizsgálati állapot sikeres.".
    • Nem megfelelő válaszkód esetén: "A ‹status› repülés előtti állapot nem sikeres 2xx állapot.".
    • Ha hiányzik az állapotsor: "Nem lett beillesztve HTTP állapotsor, így a szükséges 2xx elővizsgálati állapot nem ellenőrizhető.".

    Engedélyezett metódusok

    • Ha a metódus engedélyezett: "Az előrepülés lehetővé teszi a ‹method›-t.".
    • Ha a metódus CORS-szempontból biztonságosnak minősül (safelisted), nem szükséges szerepelnie a válaszban: "A ‹method› egy CORS biztonságos módszer, és nem kell megjelennie a Access-Control-Allow-Methods-ban.".
    • Ha a metódus nem engedélyezett: "A Access-Control-Allow-Methods nem engedélyezi a ‹method›-t.".

    Engedélyezett fejlécek és a helyettesítő karakterek korlátai

    • Ha nincs vizsgálandó fejléc: "A kért fejlécnevekhez nem szükséges előzetes jóváhagyás.".
    • Ha a fejlécek engedélyezettek: "Az elővizsgálat engedélyezi a kért fejlécneveket: ‹headers›.".
    • Ha a kérés nem tartalmaz hitelesítő adatokat, az Access-Control-Allow-Headers: * helyettesítő karakter használható: "Access-Control-Allow-Headers: A * ezeket a neveket fedi le egy hitelesítési adatok nélküli kéréshez: ‹headers›.".
    • Ha a kért fejléc nem engedélyezett: "A Access-Control-Allow-Headers nem engedélyezi: ‹headers›.".
    • Az Authorization fejléc speciális kezelést igényel: azt mindig kifejezetten nevesíteni kell a válaszban, a helyettesítő karakter nem váltja ki: "A Authorization-t kifejezetten fel kell tüntetni; Access-Control-Allow-Headers: A * nem fedi le.".

    Adatkezelés és technikai korlátok

    A CORS Ellenőrző működése során a megadott fejlécek és a kérés részletei kizárólag a böngészőben maradnak. A BroBroGo nem tölt fel és nem ment el semmit.

    Fontos figyelembe venni, hogy az eszköz kizárólag a manuálisan beillesztett válaszfejléceket és a megadott kérésadatokat veti össze a böngészők CORS szabályrendszerével. Az eszköz nem lép kapcsolatba a szerverrel, nem olvas be URL-eket, nem állít be cookie-kat, nem végez DNS- vagy TLS-ellenőrzést, és nem módosítja a szerver konfigurációját. A sikeres ellenőrzési eredmény nem garantálja, hogy az élő kérés is működni fog, mivel a hálózati átirányítások, a gyorsítótárazott válaszok, a szerverszabályok időközbeni változásai, a böngészőbővítmények, valamint az előzetes ellenőrzést követő tényleges válasz eltérő viselkedést eredményezhetnek.

    Gyakran Ismételt Kérdések (FAQ)

    A tényleges választ vagy a repülés előtti választ kell beilleszteni?

    Használja az Aktuális válasz lehetőséget annak ellenőrzésére, hogy a böngészőkód képes-e olvasni egy választ. Használja a Preflight választ a OPTIONS válaszhoz, amely jóváhagy egy későbbi metódust és annak kért fejlécneveit.

    Miért hibásodhat meg a helyettesítő karakter hitelesítő adatokkal?

    Cookie-k vagy HTTP-hitelesítés esetén az engedélyezett eredetnek pontosan meg kell egyeznie a kérés eredetével. Az engedélyezett metódusok és fejlécek helyettesítő karakterei szintén elveszítik helyettesítő karakter jelentésüket.

    Egy múló eredmény bizonyítja, hogy az élő kérés működni fog?

    Nem. Ez az eredmény csak a beillesztett választ és az itt megadott kérés részleteit tartalmazza. Az átirányítások, a gyorsítótárazott válaszok, a szerverszabályok megváltoztatása, a böngészőbővítmények és az előzetes ellenőrzés utáni tényleges válasz továbbra is megváltoztathatja az eredményt.