CORS Kontrollues

Kontrolloni nëse një përgjigje e ngjitur lejon një origjinë specifike të shfletuesit, metodën dhe titujt e kërkesës.

Përgjigje për kontrollin
Ngjitni rreshtin e statusit gjithashtu kur kontrolloni një përgjigje paraprake.
Skema, hosti dhe porta opsionale dërguar në kokën Origin.
Aktivizoni për kërkesat që përfshijnë cookies ose vërtetim HTTP.
Vendimi i shfletuesit

    Fushat e analizuara të kontrollit të aksesit

    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

    Futni një përgjigje dhe detajet e kërkesës, më pas kontrolloni politikën e CORS.

    Ngjitni një përgjigje për të kontrolluar politikën e saj CORS.

    Titujt tuaj dhe detajet e kërkesave qëndrojnë në shfletuesin tuaj. Asgjë nuk ngarkohet ose ruhet nga BroBroGo.

    Pyetje të shpeshta

    A duhet të ngjit përgjigjen aktuale apo përgjigjen paraprake?

    Përdorni përgjigjen aktuale për të kontrolluar nëse kodi i shfletuesit mund të lexojë një përgjigje. Përdorni përgjigjen e parafluturimit për përgjigjen e OPTIONS që miraton një metodë të mëvonshme dhe emrat e saj të kërkuar të kryesisë.

    Pse një wildcard mund të dështojë me kredencialet?

    Kur përfshihen cookies ose vërtetimi i HTTP, origjina e lejuar duhet të përputhet saktësisht me origjinën kërkuese. Wildcards për metodat dhe titujt e lejuara gjithashtu humbasin kuptimin e tyre wildcard.

    A vërteton një rezultat kalimtar se kërkesa e drejtpërdrejtë do të funksionojë?

    Jo. Ky rezultat mbulon vetëm përgjigjen e ngjitur dhe detajet e kërkesës të futura këtu. Ridrejtimet, përgjigjet e memorizuara, ndryshimi i rregullave të serverit, shtesat e shfletuesit dhe përgjigja aktuale pas një kontrolli paraprak mund të ndryshojnë rezultatin.

    Kuptimi i politikës CORS dhe funksioni i mjetit

    Mjeti CORS Kontrollues ju ndihmon të kuptoni nëse një shfletues ueb do të lejonte një kërkesë specifike me origjinë të kryqëzuar (cross-origin). Ky vlerësim bazohet plotësisht në titujt e përgjigjeve HTTP që ju ofroni dhe në detajet specifike të kërkesës suaj. Duke ngjitur titujt e përgjigjes dhe duke specifikuar origjinën, metodën, titujt e kërkesës, si dhe nëse përfshihen kredencialet, mjeti ju tregon nëse shfletuesi do ta lejonte këtë kërkesë, duke shpjeguar vendimin e tij sipas rregullave të CORS.

    Ky kontrollues është i vlefshëm për një sërë përdoruesish që punojnë me integrimin e sistemeve në ueb:

    • Zhvilluesit front-end.
    • Zhvilluesit back-end.
    • Zhvilluesit e platformave API.
    • Zhvilluesit e operacioneve (DevOps).
    • Kushdo që përpiqet të kuptojë nëse kodi i shfletuesit mund të lexojë një përgjigje specifike.
    • Kushdo që kontrollon nëse një përgjigje OPTIONS miraton një metodë të mëvonshme dhe emrat e saj të kërkuar të kryesisë.

    Konfigurimi i të dhënave hyrëse (Inputs)

    Për të kryer një kontroll të saktë, mjeti kërkon plotësimin e disa fushave specifike:

    • Përgjigje për kontrollin: Një zgjedhje midis opsioneve Përgjigja aktuale ose Përgjigjja e kontrollit paraprak.
    • HTTP titujt e përgjigjeve: Kutia e tekstit ku ngjiten titujt e përgjigjes HTTP. Për përgjigjet e kontrollit paraprak, duhet të përfshihet edhe rreshti i statusit. Ky input ka një kufi maksimal prej 200,000 karakteresh.
    • Kërkoni origjinën: Skema, hosti dhe porta opsionale e origjinës (për shembull, https://app.example.com). Duhet të jetë një origjinë e pastër ose null, pa shtigje URL-je, query apo kredenciale.
    • Metoda e kërkuar: Metoda HTTP që dëshironi të përdorni për kërkesën.
    • Emrat e kërkuar të kokave: Emrat e titujve nga Access-Control-Request-Headers, të ndarë me presje ose me rreshta të rinj (për shembull, Content-Type, Authorization).
    • Përfshini kredencialet: Një çelës (toggle) për të treguar nëse kërkesa përfshin cookies ose vërtetim HTTP.

    Nëse të dhënat e futura nuk janë të sakta, mjeti do të shfaqë mesazhin e përgjithshëm: "Rregulloni hyrjen e theksuar dhe provoni përsëri.".

    Mesazhet e gabimit gjatë validimit

    Gjatë futjes së të dhënave, mjeti kryen kontrolle të rrepta dhe mund të shfaqë gabimet e mëposhtme:

    • Nëse fusha e titujve është bosh: "Ngjitni HTTP titujt e përgjigjeve përpara se të kontrolloni.".
    • Nëse tejkalohet limiti i madhësisë: "Kjo përgjigje është jashtëzakonisht e madhe. Mbajeni nën ‹max› karaktere.".
    • Nëse një rresht i titujve është i pavlefshëm: "Rreshti ‹line› nuk është një titull i vlefshëm HTTP ose rresht statusi.".
    • Nëse emri i një titulli është i pavlefshëm: "Rreshti ‹line› përmban një emër të pavlefshëm të kokës HTTP.".
    • Nëse origjina nuk është e saktë: "Futni një origjinë vetëm me një skemë, host dhe port opsional, si https://app.example.com.".
    • Nëse metoda HTTP është e pavlefshme: "Futni një shenjë të vlefshme të metodës HTTP.".
    • Nëse metoda është e ndaluar nga shfletuesit: "Shfletuesit nuk lejojnë metodën ‹method› në kërkesat e marrjes.".
    • Nëse një titull i kërkuar është i pavlefshëm: "‹header› nuk është një emër i vlefshëm i HTTP të kryesisë së kërkesës.".

    Vendimi i shfletuesit dhe interpretimi i rezultateve

    Pas kryerjes së kontrollit, mjeti shfaq një nga gjendjet e mëposhtme te Vendimi i shfletuesit:

    • Ngjitni një përgjigje për të kontrolluar politikën e saj CORS. (Gjendja fillestare).
    • Futni një përgjigje dhe detajet e kërkesës, më pas kontrolloni politikën e CORS. (Kur nuk ka të dhëna).
    • Lejohet nga përgjigja e ngjitur CORS..
    • Bllokuar nga përgjigja e ngjitur CORS..
    • Titujt kalojnë, por statusi i para-fluturimit është i panjohur..

    Përveç vendimit, mjeti shfaq Fushat e analizuara të kontrollit të aksesit (ose "Jo i pranishëm" nëse ato mungojnë) dhe arsyet specifike që çuan në këtë vendim.

    Rregullat e CORS dhe rastet e veçanta

    Sjellja e shfletuesit ndryshon në mënyrë drastike në varësi të pranisë së kredencialeve dhe përdorimit të simboleve zëvendësuese (wildcards *):

    • Kredencialet dhe Origjina: Kur përfshihen kredencialet, Access-Control-Allow-Origin nuk mund të jetë *. Gjithashtu, Access-Control-Allow-Credentials duhet të jetë saktësisht true. Nëse nuk përfshihen kredencialet, ky titull nuk ndikon në vendim.
    • Humbja e kuptimit të Wildcard: Kur përfshihen kredencialet, simbolet zëvendësuese (*) për metodat dhe titujt e lejuar humbasin kuptimin e tyre si wildcard.
    • Vlerat e shumëfishta: Nëse Access-Control-Allow-Origin përmban vlera të shumëfishta ose është i ndarë me presje, ai konsiderohet i pavlefshëm.
    • Trajtimi i titullit Authorization: Ky titull duhet të renditet gjithmonë në mënyrë eksplicite në Access-Control-Allow-Headers. Përdorimi i Access-Control-Allow-Headers: * nuk e mbulon atë, edhe nëse nuk përdoren kredenciale.
    • Statusi i kontrollit paraprak: Nëse një përgjigje e kontrollit paraprak nuk përfshin një rresht statusi HTTP, rezultati i kontrollit do të jetë "i panjohur" (indeterminate) pasi statusi i kërkuar i suksesshëm 2xx nuk mund të verifikohet.

    Kufizimet e mjetit dhe privatësia

    Ky mjet funksionon plotësisht brenda shfletuesit tuaj. Ai vetëm analizon titujt e përgjigjes dhe detajet e kërkesës që ju keni ngjitur. Mjeti nuk kontakton asnjë server të jashtëm, nuk lexon URL, nuk vendos cookies, nuk kontrollon DNS/TLS dhe nuk ndryshon konfigurimet e serverit.

    Një rezultat kalimtar tregon vetëm se të dhënat e ngjitura përputhen me rregullat e CORS. Ai nuk garanton që kërkesa reale do të funksionojë, pasi nuk mund të parashikojë ridrejtimet, përgjigjet e memorizuara (cache), ndryshimet e rregullave në server, ndërhyrjet nga shtesat e shfletuesit (extensions) ose përgjigjen aktuale që kthehet pas një kontrolli paraprak.

    Sa i përket privatësisë, titujt tuaj dhe detajet e kërkesave qëndrojnë në shfletuesin tuaj. Asgjë nuk ngarkohet ose ruhet nga BroBroGo.

    Pyetje të shpeshta (FAQ)

    A duhet të ngjit përgjigjen aktuale apo përgjigjen paraprake?
    Përdorni përgjigjen aktuale për të kontrolluar nëse kodi i shfletuesit mund të lexojë një përgjigje. Përdorni përgjigjen e parafluturimit për përgjigjen e OPTIONS që miraton një metodë të mëvonshme dhe emrat e saj të kërkuar të kryesisë.

    Pse një wildcard mund të dështojë me kredencialet?
    Kur përfshihen cookies ose vërtetimi i HTTP, origjina e lejuar duhet të përputhet saktësisht me origjinën kërkuese. Wildcards për metodat dhe titujt e lejuara gjithashtu humbasin kuptimin e tyre wildcard.

    A vërteton një rezultat kalimtar se kërkesa e drejtpërdrejtë do të funksionojë?
    Jo. Ky rezultat mbulon vetëm përgjigjen e ngjitur dhe detajet e kërkesës të futura këtu. Ridrejtimet, përgjigjet e memorizuara, ndryshimi i rregullave të serverit, shtesat e shfletuesit dhe përgjigja aktuale pas një kontrolli paraprak mund të ndryshojnë rezultatin.