CORS Checker - Najděte kontrolu, která blokuje váš požadavek napříč původy | POLPROG Přejít na obsah

CORS Checker

Najděte kontrolu, která blokuje váš požadavek napříč původy

Nechal by prohlížeč váš kód přečíst tuto odpověď? A pokud ne, která kontrola řekla ne.

Webový nástroj Web
Oficiální stránka produktu Vydavatel: POLPROG
Oficiální stránka produktu
6
Fáze analýzy
5
Záložky zprávy
10
Původů na jeden běh
0
Odeslaná těla požadavků
01CORS Checker

O aplikaci

Toto je diagnóza jednoho požadavku, ne výpis hlaviček. Popíšete volání, které váš kód dělá - koncový bod, původ, na němž běží, metodu, hlavičky, které nastavuje, zda posílá přihlašovací údaje - a nástroj řekne, zda by vám prohlížeč dovolil odpověď přečíst a která konkrétní kontrola o tom rozhodla.

Co se během analýzy skutečně děje

  1. Příprava požadavku přesně tak, jak byl popsán.
  2. Klasifikace jako jednoduchý nebo s preflightem, podle pravidel standardu Fetch, která uplatňuje prohlížeč.
  3. Test preflightu skutečným požadavkem OPTIONS s hlavičkami Origin, Access-Control-Request-Method a v případě potřeby Access-Control-Request-Headers.
  4. Odeslání skutečného požadavku, protože samotný preflight nikdy neukáže hlavičky CORS na skutečné odpovědi.
  5. Prověření seznamu povolených původů jedním požadavkem navíc s původem, který server nikdy neviděl.
  6. Sestavení zprávy: verdikt, průběh požadavku, hlavičky, zjištění a technická výměna.

Prověření seznamu povolených

Server, který každému původu odpoví týmž původem, vypadá stejně jako správně nastavený seznam povolených, pokud testujete jen ten svůj. Jeden požadavek z původu, který server nikdy neviděl, oba případy oddělí, a na tom záleží, protože server odrážející původ v kombinaci s přihlašovacími údaji je přesně to nastavení, které učiní odpověď čitelnou pro každý web, jejž uživatel navštíví.

Přihlašovací údaje mění pravidla

HlavičkaS přihlašovacími údaji
Access-Control-Allow-OriginBez hvězdičkyMusí uvést původ. Hvězdička se rovnou odmítne, i vedle Access-Control-Allow-Credentials: true.
Allow-Methods, Allow-Headers, Expose-HeadersDoslovněHvězdička přestává být zástupným znakem a čte se jako doslovný název hlavičky nebo metody.
Access-Control-Allow-CredentialsPovinnáJedinou přijímanou hodnotou je přesný řetězec true malými písmeny.

Zjištění, ne přídavná jména

Každé zjištění nese závažnost, kategorii, fázi, z níž pochází, důkaz, o který se opírá, hlavičky, jichž se týká, a doporučení. Uvedeny jsou i kontroly, které prošly, takže čistý výsledek je vidět, a ne jen prázdný. Dvě zásady, jimiž se doporučení řídí, protože zřejmá rada bývá tou špatnou: nic zde vám neříká, abyste otevřeli metodu, hlavičku nebo původ jen proto, aby zmizel červený rámeček - blokované DELETE může být správně uzavřený koncový bod - a nic zde nikdy nenavrhuje odrážet libovolný Origin. Odpovědí je seznam povolených, pokaždé.

Co si nenárokuje

CORS rozhoduje, které původy smějí číst odpověď uvnitř prohlížeče. Není to ověřování, neuděluje oprávnění a nezastaví padělání požadavků napříč weby, protože útok CSRF nikdy nepotřebuje odpověď číst. Každý klient, který není prohlížeč, jej zcela ignoruje. Tento nástroj to říká výslovně, místo aby nechal zelený verdikt naznačovat, že je váš koncový bod chráněný.

02Využití

Co to řeší

Problém
  • Funguje to v curlu i Postmanu a selhává v prohlížeči
  • Konzole říká, že to blokuje zásada CORS, a víc už moc ne
  • Preflight selže, koncový bod požadavek nikdy neuvidí a logy zůstanou prázdné
Výsledek
  • Přesná kontrola, která zastaví prohlížeč, pojmenovaná
  • Skutečný preflight a skutečný požadavek, oba opravdu odeslané
  • Oprava, která neznamená otevřít koncový bod
Pro koho
  • Frontendoví vývojáři, jejichž volání fetch je blokováno
  • API týmy nastavující CORS ve více prostředích
  • Každý, kdo ladí preflight, který sám nenapsal
03Klíčové funkce

Klíčové funkce

Nejdůležitější možnosti vysvětlené prakticky.

Verdikt k jednomu konkrétnímu požadavku

Povoleno, nebo blokováno, přesně pro metodu, hlavičky, původ a režim přihlašovacích údajů, které popíšete, s pojmenovanou kontrolou, jež o tom rozhodla. Ne seznam hlaviček ponechaný vašemu výkladu.

Skutečný preflight a skutečný požadavek

Šest fází, každá ohlášená, jakmile se ustálí. Preflight OPTIONS odchází tak, jak by ho poslal prohlížeč, a po něm následuje skutečný požadavek, protože samotný preflight nikdy neukáže hlavičky CORS na skutečné odpovědi.

Jednoduchý, nebo s preflightem, rozhodnuto pořádně

Požadavek je jednoduchý jen tehdy, když je metodou GET, HEAD nebo POST a každá hlavička je na bezpečném seznamu CORS, přičemž Content-Type se omezuje na tři hodnoty. Nástroj pravidlo uplatní místo hádání, a právě odtud obvykle pochází nečekaný požadavek OPTIONS.

Prověření seznamu povolených původů

Jeden požadavek navíc z původu, který server nikdy neviděl, oddělí skutečný seznam povolených od serveru, jenž odráží vše, co dostane. Tyto dva případy vypadají stejně, pokud testujete jen vlastní původ.

Požadavky s přihlašovacími údaji souzené vlastními pravidly

Zástupný původ se stává neplatným a hvězdičky v Allow-Methods, Allow-Headers a Expose-Headers přestávají být zástupné a čtou se jako doslovné názvy. Analýza uplatňuje přísnější sadu pravidel, ne tu běžně známou.

Přesměrování prověřená na každém skoku

Prohlížeč začíná kontrolu CORS znovu při každém přesměrování, takže se každý skok vyhodnocuje znovu, než se následuje. Řetěz končící na benevolentním místě může být přesto zablokován cestou.

Několik původů v jednom běhu

Až deset dalších původů otestovaných proti témuž koncovému bodu a zobrazených v tabulce, což je nejrychlejší způsob, jak potvrdit, že lokální, testovací i produkční prostředí jsou na seznamu povolených, a nic víc.

Zjištění s důkazem a doporučením

Každé nese závažnost, kategorii, fázi, z níž pochází, důkaz, o který se opírá, a hlavičky, jichž se týká, vedle kontrol, které prošly. Žádné doporučení vám neříká, abyste otevřeli metodu, hlavičku nebo původ jen proto, aby zmizelo varování.

04Stáhnout

Přístup k produktu

Jasná cesta od oficiálního zdroje k prvnímu úspěšnému použití.

Vyberte správnou platformu

Použijte jeden z oficiálních odkazů pro své zařízení nebo prohlížeč.

Nainstalujte nebo otevřete

Postupujte podle pokynů obchodu nebo otevřete webovou aplikaci. Bez instalátorů třetích stran.

Nastavte a začněte

Projděte možnosti, zvolte předvolby a začněte hlavním pracovním postupem.

Oficiální možnosti přístupu
05Technologie

Technologie produktu

Transparentní přehled hlavních technologií použitých k vývoji a údržbě produktu.

PHP
JavaScript
06Zabezpečení

Soukromí a bezpečnost

Vaše data zůstávají ve vašem zařízení. Vždy.

Bez účtu, bez registrace
Žádná vaše cookie se nepředává dál
Nikdy se neodesílá tělo požadavku
Jakmile k vám zpráva dorazí, nic se neuchovává