Kaj je meddomensko zavarovanje? Cross-domain, ko brskalnik ne more izvajati skript z drugih spletnih strani. Vzrok je homologna politika brskalnika, ki je varnostna omejitev, ki jo brskalnik naloži na Javascrip{filter}t.
Tako imenovani homologni pomeni, da so domena, protokol in port vsi enaki, ni pomembno, če ne razumete, dajte kakšen pomen:
http://www.itsvse.com/index.htmlSklicevatihttp://www.itsvse.com/server.PHP(Ne-meddomensko)
http://www.itsvse.com/index.htmlKlic http://www.456.com/server.php (druga primarna domena: itsvse/456, meddomensko)
Prijava do hiperpovezave je vidna.SklicevatiPrijava do hiperpovezave je vidna.(Poddomena drugačna: abc/def, meddomena)
http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.itsvse.com/index.htmlKlic https://www.itsvse.com/server.php (različni protokoli: http/https, meddomensko)
Prosimo, upoštevajte: localhost in 127.0.0.1, čeprav oba kažeta na lokalno, sta prav tako meddomenska.
Ko brskalnik izvede skripto javascrip{filter}t, preveri, kateri strani skripta pripada, in če ni homologna stran, se ne bo izvajala.
Rešitev:
1、JSONP:
Ne bom šel v podrobnosti, kako ga uporabljati, vendar je treba poudariti, da JSONP podpira le GET zahteve, ne POST zahtev.
2. Agent:
Na primerwww.itsvse.com/index.htmlČe morate www.456.com/server.php poklicati, lahko napišete vmesnikwww.itsvse.com/server.phpTa vmesnik kliče www.456.com/server.php na backendu in dobi povratno vrednost, nato pa jo vrne index.html, ki je proxy vzorec. To je enakovredno obhodu brskalnika, zato seveda ni težav med domenami.
3. Spremenite glavo na PHP strani (metoda XHR2)
Dodajte naslednji dve povedi v PHP vmesniški skript: glavo('Access-Control-Allow-Origin:*'); Omogočite dostop iz vseh virov header('Access-Control-Allow-Method:POST,GET'); Načini za omogočanje dostopa
|