Një VPN nuk mund të çaktivizojë CORS, ai ndryshon përgjigjen
Një adresë e re daljeje nuk i bën dy origjina të njëjta. Regjistroni titujt e përgjigjes në të dy shtigjet dhe krahasojini përpara se të fajësoni zbatimin e CORS.
Filloni duke ndarë dy gjëra që ndryshuan njëkohësisht: shtegu i rrjetit dhe zbatimi nga shfletuesi. Një VPN ndryshon adresën e daljes; nuk ndryshon origjinën e faqes, e cila përbëhet nga skema, hosti dhe porta. Nëse kërkesa tani ka sukses, diçka në përgjigje ka ndryshuar, ose vetë kërkesa ka ndryshuar. Të kuptosh cila prej tyre është e gjithë hetimi.
CORS është një protokoll titujsh që zbatohet nga shfletuesi, prandaj asgjë në shtegun e rrjetit nuk mund ta çaktivizojë.
Origjina nuk është adresë IP
Origjina është skema, hosti dhe porta. Nuk është adresa nga e cila dalin paketat dhe nuk është IP-ja që sheh serveri. Prandaj një VPN mund të ndryshojë çdo adresë të vëzhgueshme dhe ta lërë origjinën identike. Shfletuesi krahason Access-Control-Allow-Origin të përgjigjes me origjinën e faqes, dhe adresa e daljes nuk hyn kurrë në atë krahasim.
Prandaj një shtesë ose një proxy që duket se rregullon një gabim CORS bën diçka tjetër: rishkruan titujt ose e drejtojnë kërkesën në mënyrë që të mos jetë më ndërorigjinore. Asnjëra nuk është veti e VPN-së.
Çfarë dërgon në të vërtetë shfletuesi
Për një kërkesë ndërorigjinore që nuk është e thjeshtë, shfletuesi fillimisht dërgon një paraverifikim OPTIONS, që mban metodën dhe titujt e synuar. Serveri duhet të përgjigjet me lejet që jep, dhe kërkesa e vërtetë vijon vetëm nëse ajo përgjigje përmbush rregullat. Një VPN ndryshon shtegun që mban të dy shkëmbimet dhe mund të ndryshojë atë që përgjigjen shërbimet e ndërmjetme. Nuk e ndryshon vargun e origjinës ose kërkesën e paraverifikimit.
Një klient i vijës së komandës zakonisht nuk tregon asgjë prej kësaj. Mund të mos dërgojë titullin Origin, shpesh e kalon paraverifikimin dhe mund të mbajë kredenciale të ndryshme. Trupi i kthyer te curl provon se serveri iu përgjigj curl.
Gjeni përgjigjen që ndryshoi
Krahasoni përgjigjen reale në çdo shteg, jo vetëm kodin e statusit. Shikoni titujt që mbajnë lejet CORS, llojin e përmbajtjes, çdo ridrejtim dhe nëse një variant WAF ose CDN prodhoi një faqe tjetër. Një refuzim rajonal, një ridrejtim autentikimi ose një faqe gabimi pa titullin e lejes dështojnë të gjitha në shfletues ndërsa duken si gabim CORS. Ato janë dallime të shtegut të shpërndarjes, dhe pikërisht ato duhen dokumentuar.
Regjistroni titujt e përgjigjes nga të dy shtigjet dhe krahasojini rresht për rresht. Nëse dallimi i vetëm është mungesa e Access-Control-Allow-Origin në një faqe gabimi, e keni gjetur shkakun.
Rregulloni shërbimin, jo zbatimin
Kur shërbimi është i juaji, deklaroni shprehimisht origjinat e lejuara dhe veçoritë e kërkesës, pastaj lexoni gabimet që prodhojnë frontend-i dhe ndërmjetësit e tij. Nëse nuk e bëni, dërgoni pronarit të shërbimit një krahasim të pastruar. Kurrë mos përfshini cookies, tituj autorizimi ose eksporte sesioni në atë raport, sepse ato janë kredencialet që politika ekziston për t'i mbrojtur.
Shmangni shtesat e shfletuesit që çaktivizojnë CORS. Ndryshojnë kufirin e sigurisë ndërsa fshehin dallimin e përgjigjes që duhej shpjeguar, dhe e lënë të njëjtin dështim për çdo përdorues tjetër.
Regjistroni të dyja përgjigjet, origjinën e përdorur dhe shtegun e ndjekur. Ai regjistrim e kthen një thashetheme për VPN në gabim shërbimi.