Dechreuwch drwy wahanu dau beth a newidiodd ar unwaith: y llwybr rhwydwaith a gorfodi'r porwr. Mae VPN yn newid y cyfeiriad allan; nid yw'n newid tarddiad y dudalen, sy'n cael ei adeiladu o gynllun, gwesteiwr a phorth. Os yw'r cais nawr yn llwyddo, mae rhywbeth yn yr ymateb wedi newid, neu mae'r cais ei hun wedi newid. Darganfod pa un yw'r ymchwiliad cyfan.

Protocol penawdau yw CORS a orfodir gan y porwr, felly ni all unrhyw beth ar y llwybr rhwydwaith ei anablu.

Nid cyfeiriad IP yw tarddiad

Cynllun, gwesteiwr a phorth yw tarddiad. Nid yw'n gyfeiriad y mae pecynnau'n gadael ohono, ac nid yw'n yr IP y mae'r gweinydd yn ei gweld. Dyna pam y gall VPN newid pob cyfeiriad gweladwy a gadael y tarddiad yn union yr un fath. Mae'r porwr yn cymharu Access-Control-Allow-Origin yr ymateb â tharddiad y dudalen, ac nid yw'r cyfeiriad allan byth yn dod i mewn i'r gymhariaeth honno.

Felly mae estyniad neu brocsi sy'n ymddangos yn trwsio gwall CORS yn gwneud rhywbeth arall: yn ailysgrifennu penawdau, neu'n llwybro'r cais fel nad yw bellach yn draws-darddiad. Nid yw'r naill na'r llall yn briodwedd o'r VPN.

Yr hyn y mae'r porwr yn ei anfon mewn gwirionedd

Ar gyfer cais traws-darddiad nad yw'n un syml, mae'r porwr yn anfon rhag-wiriad OPTIONS yn gyntaf, gan gario'r dull a'r penawdau arfaethedig. Rhaid i'r gweinydd ateb â'r caniatâd y mae'n eu caniatáu, ac mae'r cais go iawn yn dilyn dim ond os yw'r ateb hwnnw'n bodloni'r rheolau. Mae VPN yn newid y llwybr sy'n cario'r ddau gyfnewid ac yn gallu newid yr hyn y mae gwasanaethau canolraddol yn ei ateb. Nid yw'n newid llinyn y tarddiad nac amod y rhag-wiriad.

Fel arfer nid yw cleient llinell orchymyn yn dangos dim o hynny. Efallai nad yw'n anfon penawd Origin, yn aml yn hepgor y rhag-wiriad, ac yn gallu cario chyfrinasau gwahanol. Mae corff a ddychwelwyd i curl yn profi bod y gweinydd wedi ateb curl.

Darganfyddwch yr ymateb a newidiodd

Cymharwch yr ymateb gwirioneddol ar bob llwybr, nid dim ond y cod statws. Edrychwch ar y penawdau sy'n cario caniatâd CORS, y math o gynnwys, unrhyw ailgyfeirio, ac a wnaeth fersiwn WAF neu CDN gynhyrchu tudalen wahanol. Mae gwrthodiad rhanbarthol, ailgyfeirio dilysu neu dudalen gwall heb y penawd caniatâd i gyd yn methu yn y porwr tra'n edrych fel gwall CORS. Gwahaniaethau llwybr cyflenwi yw'r rheini, a nhw yw'r peth i'w dogfennu.

Cofnodwch benawdau'r ymateb o'r ddau lwybr a'u cymharu linell wrth linell. Os mai'r unig wahaniaeth yw'r Access-Control-Allow-Origin sy'n eisiau ar un dudalen gwall, rydych wedi dod o hyd i'r achos.

Trwsiwch y gwasanaeth, nid y gorfodi

Pan fo'r gwasanaeth yn eiddo i chi, nodwch y tardoedd a ganiateir a nodweddion y cais yn gyhoeddus, yna darllenwch y gwallau y mae ei flaend a'i gyfryngwyr yn eu cynhyrchu. Os na wnewch, anfonwch gymhariaeth wedi'i glanhau at berchennog y gwasanaeth. Peidiwch byth â chynnwys cwcis, penawdau awdurdodi na hallbostiadau sesiwn yn yr adroddiad hwnnw, oherwydd y chain yw'r chyfrinasau y mae'r polisi yn bod i'w hamddiffyn.

Osgoi estyniadau porwr sy'n anablu CORS. Maent yn newid y ffin ddiogelwch wrth guddio'r gwahaniaeth ymateb roedd angen ei esbonio, ac maent yn gadael yr un methiant yn ei le i bob defnyddiwr arall.

Cofnodwch y ddau ymateb, y tarddiad a ddefnyddiwyd a'r llwybr a gymerwyd. Mae'r cofnod hwnnw'n troi si o VPN yn fyg gwasanaeth.

Erthyglau cysylltiedig