Nifhmu l-Politika CORS u l-Funzjoni tal-Għodda
Cross-Origin Resource Sharing (CORS) huwa mekkaniżmu tas-sigurtà implimentat mill-brawżers tal-web biex jikkontrollaw jekk kodiċi li qed jaħdem fuq oriġini waħda jistax jaqra riżorsi minn oriġini oħra. Din l-għodda tgħinek tifhem jekk brawżer tal-web jippermettix talba speċifika bejn oriġini differenti abbażi tal-HTTP headers tar-rispons li tipprovdi u d-dettalji tat-talba tiegħek.
Billi tpejstja l-headers tar-rispons u tispeċifika l-oriġini, il-metodu, u l-headers tat-talba maħsuba tiegħek, kif ukoll jekk il-kredenzjali humiex inklużi, il-Kontrollur CORS janalizza r-regoli u jispjega d-deċiżjoni tiegħu. L-għodda tiċċekkja biss ir-rispons ipprovdut u d-dettalji tat-talba; hija ma tikkuntattjax server, ma taqrax URLs, ma tissettjax cookies, ma tiċċekkjax DNS/TLS, u lanqas ma timmodifika konfigurazzjonijiet tas-server.
Input u Validazzjoni tad-Dejta
Biex tuża l-għodda, trid tipprovdi l-parametri li ġejjin, li huma soġġetti għal regoli speċifiċi ta' validazzjoni:
- Rispons għall-iċċekkjar: Għażla bejn "Rispons attwali" jew "Rispons ta' qabel it-titjira".
- HTTP headers tar-rispons: Input ta' test għall-headers tar-rispons HTTP, inkluża l-linja tal-istatus għal risponsi ta' qabel it-titjira. It-tul massimu huwa ta' 200,000 karattru. Jekk l-input ikun vojt, jidher l-iżball "Pejst HTTP rispons headers qabel l-iċċekkjar.". Jekk ikun kbir wisq, juri "Dan ir-rispons huwa kbir mhux tas-soltu. Żommha taħt il-karattri
‹max›. Linja". Jekk linja ma tkunx valida, juri "‹line›mhix header jew linja ta 'status valida HTTP." jew "Linja‹line›fiha isem ta 'header HTTP invalidu.". - L-oriġini tat-talba: Input ta' test għall-iskema, il-host, u l-port fakultattiv tal-oriġini (eżempju:
https://app.example.com). Għandha tkun oriġini pura jewnull, mingħajr mogħdija tal-URL (path), query, jew kredenzjali. Jekk ma tkunx valida, juri l-iżball "Daħħal oriġini bi skema, host u port mhux obbligatorju biss, bħal https://app.example.com.". - Metodu mitlub: Input ta' test għall-metodu HTTP. Jekk ma jkunx validu, juri "Daħħal token tal-metodu HTTP validu.". Jekk il-metodu jkun ipprojbit, juri "Browsers ma jippermettux il-metodu
‹method›fit-talbiet fetch.". - Ismijiet ta' header mitluba: Input ta' test għall-ismijiet tal-headers minn
Access-Control-Request-Headers, separati b'virgoli jew linji (eżempju:Content-Type, Authorization). Jekk header ma jkunx validu, juri ""‹header›" mhuwiex isem validu tal-header tat-talba HTTP.". - Inkludi kredenzjali: Toggle biex tindika jekk it-talba tinkludix cookies jew awtentikazzjoni HTTP.
Jekk ikun hemm xi kwistjoni ġenerali bl-inputs, l-għodda turi l-messaġġ "Waħħal l-input enfasizzat u erġa' pprova.".
Deċiżjonijiet tal-Brawżer u Interpretazzjoni tar-Riżultati
Wara li l-inputs jiġu pproċessati, l-għodda turi waħda minn dawn id-deċiżjonijiet bħala riżultat:
- Permess mir-rispons pasted CORS.
- Imblukkat mir-rispons pasted CORS.
- L-headers jgħaddu, iżda l-istatus ta' qabel it-titjira mhux magħruf.
- Daħħal tweġiba u talba dettalji, imbagħad iċċekkja l-politika CORS. (meta ma jkun hemm l-ebda input).
- Pasta tweġiba biex tiċċekkja l-politika tagħha CORS. (l-istat inizjali).
L-għodda turi wkoll il-qasam ta' Kontroll ta' Aċċess parsed u r-raġunijiet speċifiċi għad-deċiżjoni meħuda.
Regoli tal-Headers u Każijiet Speċjali
L-evalwazzjoni tal-politika CORS issegwi regoli stretti tal-brawżer, partikolarment dwar l-interazzjoni bejn il-kredenzjali u l-wildcards:
L-Impatt tal-Kredenzjali
Meta l-kredenzjali jkunu inklużi fit-talba, l-header Access-Control-Allow-Origin ma jistax juża l-wildcard *. Barra minn hekk, f'talbiet bil-kredenzjali, il-wildcards għall-metodi u l-headers permessi jitilfu t-tifsira tal-wildcard tagħhom u jiġu ttrattati bħala valuri letterali. L-header Access-Control-Allow-Credentials għandu jkun eżattament true biex talba bil-kredenzjali tiġi permessa. Jekk il-kredenzjali ma jkunux inklużi, dan l-header ma jaffettwax id-deċiżjoni.
L-Użu ta' Wildcards u l-Header Authorization
Jekk ma jiġux inklużi kredenzjali, il-wildcard * jista' jintuża f' Access-Control-Allow-Methods u Access-Control-Allow-Headers. Madankollu, l-header Authorization huwa eċċezzjoni: dan għandu jiġi elenkat b'mod espliċitu f' Access-Control-Allow-Headers, peress li Access-Control-Allow-Headers: * ma jkoprihx.
Validità tal-Oriġini u l-Istatus tal-Preflight
Jekk Access-Control-Allow-Origin fih valuri multipli jew huwa separat bil-virgoli, dan jitqies invalidu. Għal risponsi ta' qabel it-titjira (preflight), l-istatus HTTP tar-rispons għandu jkun kodiċi ta' suċċess 2xx. Jekk ma tiġix ipejstjata l-linja tal-istatus HTTP, l-istatus meħtieġ ma jistax jiġi vverifikat u r-riżultat tal-preflight jitqies bħala "indeterminate".
Privatezza u Sigurtà tad-Dejta
Il-privatezza tiegħek hija mħarsa b'mod sħiħ waqt l-użu ta' din l-għodda. L-intestaturi u d-dettalji tat-talba tiegħek jibqgħu fil-browser tiegħek. Xejn ma jittella' jew jiġi salvat minn BroBroGo. Il-proċess kollu tal-analiżi jsir lokalment fuq il-magna tiegħek.
Mistoqsijiet Frekwenti (FAQ)
Għandi nwaħħal ir-rispons attwali jew ir-rispons ta' qabel it-titjira? Uża rispons attwali biex tivverifika jekk il-kodiċi tal-browser jistax jaqra tweġiba waħda. Uża tweġiba Preflight għat-tweġiba OPTIONS li tapprova metodu aktar tard u l-ismijiet tal-header mitluba tagħha.
Għaliex jista' wildcard ifalli bil-kredenzjali? Meta l-cookies jew l-awtentikazzjoni HTTP huma inklużi, l-oriġini permessa trid taqbel eżatt mal-oriġini li titlob. Il-wildcards għall-metodi u l-headers permessi wkoll jitilfu t-tifsira tal-wildcard tagħhom.
Riżultat li jgħaddi jipprova li t-talba diretta se taħdem? Le. Dan ir-riżultat ikopri biss ir-rispons pasted u d-dettalji tat-talba mdaħħla hawn. Ridirezzjonijiet, tweġibiet fil-cache, regoli tas-server li jinbidlu, estensjonijiet tal-browser u r-rispons attwali wara titjira minn qabel xorta jistgħu jibdlu r-riżultat.
Min għandu bżonn juża dan il-Kontrollur CORS?
Din l-għodda hija utli għal żviluppaturi front-end, back-end, żviluppaturi ta' pjattaformi API, żviluppaturi tal-operazzjonijiet (DevOps), jew kull min għandu bżonn jifhem jekk il-kodiċi tal-brawżer jistax jaqra rispons speċifiku jew jekk tweġiba OPTIONS tapprovax metodu u headers partikolari.