Tuiscint ar Pholasaí CORS agus ar an Seiceálaí CORS
Is gné ríthábhachtach slándála é Cross-Origin Resource Sharing (CORS) a chuireann brabhsálaithe gréasáin i bhfeidhm chun rochtain ar acmhainní thar thionscnaimh éagsúla a rialú. Nuair a dhéanann cód brabhsálaí iarratas chuig fearann eile seachas an ceann as ar tháinig an script, cinneann polasaí CORS an brabhsálaí an gceadófar an t-iarratas sin nó an léifear an freagra. Cabhraíonn an uirlis seo leat a thuiscint an gceadódh brabhsálaí gréasáin iarratas tras-tionscnaimh ar leith bunaithe ar na ceanntásca freagartha HTTP a sholáthraíonn tú agus ar shonraí d’iarratais.
Ní dhéanann an seiceálaí teagmháil le freastalaí, ní léann sé URLanna, ní shocraíonn sé fianáin, ní sheiceálann sé DNS/TLS, agus ní athraíonn sé cumraíochtaí freastalaí. Déantar an phróiseáil go hiomlán laistigh de do bhrabhsálaí féin. Fanann do cheanntásca agus sonraí iarratais i do bhrabhsálaí. Níl aon rud uaslódáilte nó shábháil ag BroBroGo.
Conas an tIonchur a Chumrú
Chun an polasaí CORS a mheas, teastaíonn faisnéis chruinn faoin bhfreagra HTTP agus faoin iarratas atá beartaithe. Is féidir na paraiméadair seo a leanas a chumrú sa chomhéadan:
- Freagra ar sheiceáil: Roghnaigh idir "Freagra iarbhír" (Freagra iarbhír) nó "Freagra réamheitilte".
- Ceanntásca freagartha HTTP: Greamaigh téacs na gceanntásc freagartha HTTP anseo. Má tá freagra réamheitilte á sheiceáil agat, ní mór an líne stádais a chur san áireamh freisin. Is é 200,000 carachtar an t-uasmhéid don ionchur seo. Mura gcuirtear aon rud isteach, taispeánfar an earráid: "Greamaigh ceanntásca freagartha HTTP roimh seiceáil.". Má sháraítear an teorainn, feicfear: "Tá an freagra seo neamhghnách mór. Coinnigh sé faoi charachtair
‹max›.". Má tá líne neamhbhailí ann, taispeánfar: "Ní ceanntásc bailí HTTP nó líne stádais í Líne‹line›." nó "Tá ainm ceanntásca HTTP neamhbhailí ar Líne‹line›.". - Iarratas tionscnaimh: Cuir isteach scéim, óstach, agus calafort roghnach an tionscnaimh (mar shampla,
https://app.example.com). Ní mór gur tionscnamh glan nónulla bheadh ann; ní cheadaítear cosán URL, ceist, ná dintiúir. Mura bhfuil sé bailí, taispeánfar: "Cuir isteach tionscnamh nach bhfuil ann ach scéim, óstach agus calafort roghnach, mar shampla https://app.example.com.". - Modh iarrtha: Cuir isteach an modh HTTP (mar shampla, GET nó POST). Mura bhfuil an comhartha bailí, taispeánfar: "Cuir isteach comhartha modh HTTP bailí.". Má úsáidtear modh toirmiscthe, feicfear: "Ní cheadaíonn brabhsálaithe an modh
‹method›in iarratais fetch.". - Iarradh ainmneacha ceanntásca: Cuir isteach na ceanntásca a bheidh sa cheanntásc
Access-Control-Request-Headers, scartha le camóga nó línte. Má tá ceanntásc neamhbhailí ann, taispeánfar: Ní ainm ceanntásca iarratais HTTP bailí é “‹header›”.". - Cuir dintiúir san áireamh: Scoránaigh an rogha seo má chuimsíonn an t-iarratas fianáin nó fíordheimhniú HTTP.
Má tá fadhb ghinearálta leis na hionchuir, taispeánfar an teachtaireacht: "Deisigh an t-ionchur aibhsithe agus bain triail eile as.".
Cinneadh an Bhrabhsálaí agus na Torthaí
Nuair a chliceálann tú ar "Seiceáil CORS", déanann an uirlis an polasaí a pharsáil agus taispeánann sí ceann de na cinntí seo a leanas faoi "Cinneadh brabhsálaí":
- Tússtát: "Greamaigh freagra chun a pholasaí CORS a sheiceáil.".
- Gan ionchur: "Cuir isteach freagra agus sonraí a iarraidh, ansin seiceáil an polasaí CORS.".
- Ceadaithe: "Ceadaithe ag an bhfreagra CORS pasted.".
- Blocáilte: "Blocáilte ag an bhfreagra CORS pasted.".
- Stádas Réamheitilte Neamhchinnte: "Gabhann ceanntásca leis, ach níl an stádas réamheitilte anaithnid.".
Taispeánann an uirlis na réimsí Access-Control-* parsáilte freisin chun an anailís a éascú.
Rialacha Measúnaithe agus Cúiseanna an Chinnidh
Míníonn an seiceálaí an cinneadh go mion bunaithe ar rialacha sonracha CORS:
Rialacha maidir le Bunús (Origin)
- Má mheaitseálann an ceanntásc go díreach: "Tagann Access-Control-Allow-Origin go díreach le
‹origin›.". - Má úsáidtear saoróg le haghaidh iarratas gan dintiúir: "Ceadaíonn Access-Control-Allow-Origin aon bhunús don iarratas seo.".
- Má tá an ceanntásc ar iarraidh: "Access-Control-Allow-Origin ar iarraidh.".
- Má tá an luach neamhbhailí (mar shampla, luachanna iolracha nó scartha le camóga): "Tá luach neamhbhailí ag Access-Control-Allow-Origin:
‹value›.". - Mura bhfuil meaitseáil ann: "Is Access-Control-Allow-Origin é
‹actual›, ní‹expected›.".
Tionchar Dintiúir (Credentials)
Nuair a chuirtear dintiúir san áireamh, athraíonn rialacha CORS go mór:
- Ní féidir le
Access-Control-Allow-Origina bheith ina shaoróg (*) nuair a chuirtear dintiúir san áireamh. Má tharlaíonn sé seo, feicfear: "Ní féidir Access-Control-Allow-Origin a bheith * nuair a chuirtear dintiúir san áireamh.". - Ní mór do
Access-Control-Allow-Credentialsa bheith go díreachtrue. Má tá sé i láthair, taispeánfar: "Tá Access-Control-Allow-Credentials fíor go díreach.". Mura bhfuil sé ann le haghaidh iarratas creidiúnaithe, taispeánfar: "Teastaíonn Access-Control-Allow-Credentials: fíor le hiarratas creidiúnaithe.". - Mura bhfuil dintiúir san áireamh, ní chuireann an ceanntásc seo isteach ar an gcinneadh: "Ní chuirtear dintiúir san áireamh, mar sin ní chuireann Access-Control-Allow-Credentials isteach ar an gcinneadh seo.".
- Nuair a chuirtear dintiúir san áireamh, cailleann saoróga le haghaidh modhanna agus ceanntásca ceadaithe a gciall saoróg.
Rialacha Réamheitilte (Preflight) agus Modhanna
- Mura bhfuil líne stádais HTTP sa fhreagra réamheitilte, beidh an toradh neamhchinnte: "Níor greamaíodh aon líne stádais HTTP, mar sin ní féidir an stádas réamheitilte 2xx riachtanach a sheiceáil.".
- Má tá an stádas rathúil: "Tá an stádas preflight
‹status›rathúil.". Mura bhfuil sé rathúil: "Ní stádas rathúil 2xx é an stádas preflight‹status›.". - Má cheadaítear an modh: "Ceadaíonn an réamheitilt
‹method›.". - Más modh ar liosta sábháilte CORS é (mar shampla GET, HEAD, nó POST simplí): "Is modh ar liosta sábháilte CORS é
‹method›agus ní gá é a bheith le feiceáil in Access-Control-Allow-Methods.". - Mura gceadaítear an modh: "Ní cheadaíonn Access-Control-Allow-Methods
‹method›.".
Rialacha maidir le Ceanntásca Iarrtha
- Mura bhfuil cead uait: "Níl cead réamheitilte de dhíth ar aon ainmneacha ceanntásc a iarrtar.".
- Má cheadaíonn an réamheitilt iad: "Ceadaíonn an réamheitilt na hainmneacha ceanntásca a iarrtar:
‹headers›.". - Má úsáidtear saoróg le haghaidh iarratas gan dintiúir: "Access-Control-Allow-Headers: Clúdaíonn * na hainmneacha seo le haghaidh iarratais gan dintiúir:
‹headers›.". - Mura gceadaítear iad: "Ní cheadaíonn Access-Control-Allow-Headers:
‹headers›.". - An ceanntásc Authorization: Ní mór
Authorizationa liostú go sainráite i gcónaí; ní chlúdaíonnAccess-Control-Allow-Headers: *é, fiú mura bhfuil dintiúir i gceist. Má tharlaíonn sé seo, taispeánfar: "Ní mór Authorization a liostú go sainráite; Access-Control-Allow-Headers: Ní chlúdaíonn * é.".
Teorainneacha an Mheasúnaithe
Ní chlúdaíonn toradh pasála sa seiceálaí seo ach an freagra greamaithe agus na sonraí iarratais a chuirtear isteach. Ní chuireann sé san áireamh athsheoltaí, freagraí i dtaisce, rialacha freastalaí a d'fhéadfadh athrú, síntí brabhsálaí, nó an freagra iarbhír a sheoltar tar éis iarratas réamheitilte rathúil.
Ceisteanna Coitianta (FAQ)
Ar cheart dom an freagra iarbhír nó an freagra réamheitilte a ghreamú?
Úsáid Freagra Iarbhír le seiceáil an féidir le cód brabhsálaí freagra amháin a léamh. Úsáid freagra Preflight don fhreagra OPTIONS a cheadaíonn modh níos déanaí agus na hainmneacha ceanntásc iarrtha.
Cén fáth gur féidir le saoróg teip le dintiúir?
Nuair a chuirtear fianáin nó fíordheimhniú HTTP san áireamh, caithfidh an tionscnamh ceadaithe a bheith ag teacht go díreach leis an mbunús iarrthach. Cailleann saoróga do mhodhanna ceadaithe agus do cheanntásca a gciall saoróg freisin.
An gcruthóidh toradh pasála go n-oibreoidh an t-iarratas beo?
Ní chlúdaíonn an toradh seo ach an freagra greamaithe agus sonraí an iarratais a chuirtear isteach anseo. Is féidir leis an toradh a athrú fós ó athsheolaidh, freagraí i dtaisce, rialacha freastalaí a athrú, síntí brabhsálaí agus an freagra iarbhír tar éis réamheitilte.
Cén fáth nach gclúdaíonn an saoróg (*) an ceanntásc Authorization?
Is eisceacht shonrach é an ceanntásc Authorization i rialacha CORS. Ní mór é a liostú go sainráite i gcónaí sa cheanntásc Access-Control-Allow-Headers, mar ní chlúdaíonn an saoróg * é fiú amháin i gcás iarratas gan dintiúir.