CORS Checker - Nájdite kontrolu, ktorá blokuje vašu požiadavku naprieč pôvodmi | POLPROG Prejsť na obsah

CORS Checker

Nájdite kontrolu, ktorá blokuje vašu požiadavku naprieč pôvodmi

Nechal by prehliadač váš kód prečítať túto odpoveď? A ak nie, ktorá kontrola povedala nie.

Webový nástroj Web
Oficiálna stránka produktu Vydavateľ: POLPROG
Oficiálna stránka produktu
6
Fázy analýzy
5
Záložky správy
10
Pôvodov na jeden beh
0
Odoslané telá požiadaviek
01CORS Checker

O projekte

Toto je diagnóza jednej požiadavky, nie výpis hlavičiek. Opíšete volanie, ktoré váš kód robí - koncový bod, pôvod, na ktorom beží, metódu, hlavičky, ktoré nastavuje, či posiela prihlasovacie údaje - a nástroj povie, či by vám prehliadač dovolil odpoveď prečítať a ktorá konkrétna kontrola o tom rozhodla.

Čo sa počas analýzy naozaj deje

  1. Príprava požiadavky presne tak, ako bola opísaná.
  2. Klasifikácia ako jednoduchá alebo s preflightom, podľa pravidiel štandardu Fetch, ktoré uplatňuje prehliadač.
  3. Test preflightu skutočnou požiadavkou OPTIONS s hlavičkami Origin, Access-Control-Request-Method a v prípade potreby Access-Control-Request-Headers.
  4. Odoslanie skutočnej požiadavky, pretože samotný preflight nikdy neukáže hlavičky CORS na skutočnej odpovedi.
  5. Preverenie zoznamu povolených pôvodov jednou požiadavkou navyše s pôvodom, ktorý server nikdy nevidel.
  6. Zostavenie správy: verdikt, priebeh požiadavky, hlavičky, zistenia a technická výmena.

Preverenie zoznamu povolených

Server, ktorý každému pôvodu odpovie tým istým pôvodom, vyzerá rovnako ako správne nastavený zoznam povolených, ak testujete len ten svoj. Jedna požiadavka z pôvodu, ktorý server nikdy nevidel, oba prípady oddelí, a na tom záleží, pretože server odrážajúci pôvod v kombinácii s prihlasovacími údajmi je presne to nastavenie, ktoré urobí odpoveď čitateľnou pre každý web, ktorý používateľ navštívi.

Prihlasovacie údaje menia pravidlá

HlavičkaS prihlasovacími údajmi
Access-Control-Allow-OriginBez hviezdičkyMusí uviesť pôvod. Hviezdička sa rovno odmietne, aj vedľa Access-Control-Allow-Credentials: true.
Allow-Methods, Allow-Headers, Expose-HeadersDoslovneHviezdička prestáva byť zástupným znakom a číta sa ako doslovný názov hlavičky alebo metódy.
Access-Control-Allow-CredentialsPovinnáJedinou prijímanou hodnotou je presný reťazec true malými písmenami.

Zistenia, nie prídavné mená

Každé zistenie nesie závažnosť, kategóriu, fázu, z ktorej pochádza, dôkaz, o ktorý sa opiera, hlavičky, ktorých sa týka, a odporúčanie. Uvedené sú aj kontroly, ktoré prešli, takže čistý výsledok je vidieť, a nie len prázdny. Dve zásady, ktorými sa odporúčania riadia, pretože zrejmá rada býva tou nesprávnou: nič tu vám nehovorí, aby ste otvorili metódu, hlavičku alebo pôvod len preto, aby zmizol červený rámček - blokované DELETE môže byť správne uzavretý koncový bod - a nič tu nikdy nenavrhuje odrážať ľubovoľný Origin. Odpoveďou je zoznam povolených, zakaždým.

Čo si nenárokuje

CORS rozhoduje, ktoré pôvody smú čítať odpoveď vnútri prehliadača. Nie je to overovanie, neudeľuje oprávnenia a nezastaví falšovanie požiadaviek naprieč webmi, pretože útok CSRF nikdy nepotrebuje odpoveď čítať. Každý klient, ktorý nie je prehliadač, ho úplne ignoruje. Tento nástroj to hovorí výslovne, namiesto toho, aby nechal zelený verdikt naznačovať, že je váš koncový bod chránený.

02Využitie

Čo to rieši

Problém
  • Funguje to v curle aj Postmane a zlyháva v prehliadači
  • Konzola hovorí, že to blokuje zásada CORS, a viac už veľmi nie
  • Preflight zlyhá, koncový bod požiadavku nikdy neuvidí a logy zostanú prázdne
Výsledok
  • Presná kontrola, ktorá zastaví prehliadač, pomenovaná
  • Skutočný preflight a skutočná požiadavka, obe naozaj odoslané
  • Oprava, ktorá neznamená otvoriť koncový bod
Pre koho
  • Frontendoví vývojári, ktorých volanie fetch je blokované
  • API tímy nastavujúce CORS vo viacerých prostrediach
  • Každý, kto ladí preflight, ktorý sám nenapísal
03Kľúčové funkcie

Kľúčové funkcie

Najdôležitejšie možnosti vysvetlené prakticky.

Verdikt k jednej konkrétnej požiadavke

Povolené, alebo blokované, presne pre metódu, hlavičky, pôvod a režim prihlasovacích údajov, ktoré opíšete, s pomenovanou kontrolou, ktorá o tom rozhodla. Nie zoznam hlavičiek ponechaný vášmu výkladu.

Skutočný preflight a skutočná požiadavka

Šesť fáz, každá ohlásená, len čo sa ustáli. Preflight OPTIONS odchádza tak, ako by ho poslal prehliadač, a po ňom nasleduje skutočná požiadavka, pretože samotný preflight nikdy neukáže hlavičky CORS na skutočnej odpovedi.

Jednoduchá, alebo s preflightom, rozhodnuté poriadne

Požiadavka je jednoduchá len vtedy, keď je metódou GET, HEAD alebo POST a každá hlavička je na bezpečnom zozname CORS, pričom Content-Type sa obmedzuje na tri hodnoty. Nástroj pravidlo uplatní namiesto hádania, a práve odtiaľ zvyčajne pochádza nečakaná požiadavka OPTIONS.

Preverenie zoznamu povolených pôvodov

Jedna požiadavka navyše z pôvodu, ktorý server nikdy nevidel, oddelí skutočný zoznam povolených od servera, ktorý odráža všetko, čo dostane. Tieto dva prípady vyzerajú rovnako, ak testujete len vlastný pôvod.

Požiadavky s prihlasovacími údajmi súdené vlastnými pravidlami

Zástupný pôvod sa stáva neplatným a hviezdičky v Allow-Methods, Allow-Headers a Expose-Headers prestávajú byť zástupné a čítajú sa ako doslovné názvy. Analýza uplatňuje prísnejšiu sadu pravidiel, nie tú bežne známu.

Presmerovania preverené na každom skoku

Prehliadač začína kontrolu CORS znova pri každom presmerovaní, takže sa každý skok vyhodnocuje znova, než sa nasleduje. Reťaz končiaca na benevolentnom mieste môže byť napriek tomu zablokovaná cestou.

Viacero pôvodov v jednom behu

Až desať ďalších pôvodov otestovaných proti tomu istému koncovému bodu a zobrazených v tabuľke, čo je najrýchlejší spôsob, ako potvrdiť, že lokálne, testovacie aj produkčné prostredie sú na zozname povolených, a nič viac.

Zistenia s dôkazom a odporúčaním

Každé nesie závažnosť, kategóriu, fázu, z ktorej pochádza, dôkaz, o ktorý sa opiera, a hlavičky, ktorých sa týka, vedľa kontrol, ktoré prešli. Žiadne odporúčanie vám nehovorí, aby ste otvorili metódu, hlavičku alebo pôvod len preto, aby zmizlo varovanie.

04Stiahnuť

Prístup k produktu

Jasná cesta od oficiálneho zdroja k prvému úspešnému použitiu.

Vyberte správnu platformu

Použite jeden z oficiálnych odkazov pre svoje zariadenie alebo prehliadač.

Nainštalujte alebo otvorte

Postupujte podľa pokynov obchodu alebo otvorte webovú aplikáciu. Bez inštalátorov tretích strán.

Nastavte a začnite

Prejdite možnosti, vyberte predvoľby a začnite hlavným pracovným postupom.

Oficiálne možnosti prístupu
05Technológia

Technológia produktu

Transparentný prehľad hlavných technológií použitých na vývoj a údržbu produktu.

PHP
JavaScript
06Bezpečnosť

Súkromie a bezpečnosť

Vaše údaje zostávajú vo vašom zariadení. Vždy.

Bez účtu, bez registrácie
Žiadna vaša cookie sa neposiela ďalej
Nikdy sa neodosiela telo požiadavky
Len čo k vám správa dorazí, nič sa neuchováva