VPN nevar izslēgt CORS, tas maina atbildi
Jauna izejas adrese nepadara divas izcelsmes vienādas. Ierakstiet atbildes galvenes abos ceļos un salīdziniet tās, pirms vainojat CORS piemērošanu.
Sāciet ar divu lietu atdalīšanu, kas mainījās vienlaikus: tīkla ceļš un pārlūka piemērošana. VPN maina izejas adresi; tas nemaina lapas izcelsmi, kas sastāv no shēmas, resursdatora un porta. Ja pieprasījums tagad izdodas, kaut kas ir mainījies atbildē vai ir mainījies pats pieprasījums. Noskaidrot, kurš no abiem, ir viss izmeklēšana.
CORS ir galveņu protokols, ko piemēro pārlūks, tāpēc ne kas tīkla ceļā nevar to izslēgt.
Izcelsme nav IP adrese
Izcelsme ir shēma, resursdators un ports. Tā nav adrese, no kuras iziet paketes, un tā nav IP, ko redz serveris. Tāpēc VPN var mainīt katru novērojamo adresi un atstāt izcelsmi nemainīgu. Pārlūks salīdzina atbildes Access-Control-Allow-Origin ar lapas izcelsmi, un izejas adrese šajā salīdzinājumā nekad neietilpst.
Tāpēc paplašinājums vai starpniekserveris, kas izskatās, ka labo CORS kļūdu, dara ko citu: pārraksta galvenes vai maršrutē pieprasījumu tā, ka tas vairs nav no citas izcelsmes. Neviens no abiem nav VPN īpašība.
Ko pārlūks patiešām sūta
Ja pieprasījums no citas izcelsmes nav vienkāršs, pārlūks vispirms sūta priekšpārbaudi OPTIONS, kas nes paredzēto metodi un galvenes. Serverim jāatbild ar atļaujām, ko tas piešķir, un īstais pieprasījums seko tikai tad, ja šī atbilde atbilst noteikumiem. VPN maina ceļu, kas nes abas apmaiņas, un var mainīt to, ko atbild starpposma pakalpojumi. Tas nemaina izcelsmes virkni vai priekšpārbaudes prasību.
Komandrindas klients parasti neko no tā nerāda. Tas var nesūtīt Origin galveni, bieži izlaiž priekšpārbaudi un var nest citus akreditācijas datus. curl atgrieztais ķermenis pierāda, ka serveris atbildēja curl.
Atrodiet mainīto atbildi
Salīdziniet faktisko atbildi katrā ceļā, ne tikai statusa kodu. Apskatiet galvenes, kas nes CORS atļaujas, satura tipu, jebkuru novirzīšanu un to, vai WAF vai CDN variants izveidoja citu lapu. Reģionāls atteikums, autentifikācijas novirzīšana vai kļūdas lapa bez atļaujas galvenes visas neizdodas pārlūkā, lai gan izskatās kā CORS kļūda. Tie ir piegādes ceļa atšķirības, un tieši tās ir jādokumentē.
Ierakstiet abu ceļu atbildes galvenes un salīdziniet tās rindiņu pa rindiņai. Ja vienīgā atšķirība ir trūkstošā Access-Control-Allow-Origin vienā kļūdas lapā, jūs esat atraduši cēloni.
Labojiet pakalpojumu, nevis piemērošanu
Kad pakalpojums ir jūsu, skaidri norādiet atļautās izcelsmes un pieprasījuma funkcijas, pēc tam lasiet kļūdas, ko rada tā priekšgals un starpnieki. Ja to nedarāt, nosūtiet pakalpojuma īpašniekam attīrītu salīdzinājumu. Nekad neiekļaujiet šajā ziņojumā sīkfailus, autorizācijas galvenes vai sesiju eksportus, jo tie ir akreditācijas dati, kuru aizsardzībai politika pastāv.
Izvairieties no pārlūka paplašinājumiem, kas izslēdz CORS. Tie maina drošības robežu, slēpjot atbildes atšķirību, kas bija jāpaskaidro, un atstāj to pašu kļūmi visiem citiem lietotājiem.
Ierakstiet abas atbildes, izmantoto izcelsmi un veikto ceļu. Šis ieraksts pārvērš VPN baumu pakalpojuma kļūdā.