Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kas ma saan andmeid sünkroonida erinevate domeenide vahekaartide vahel?


Kas ma saan andmeid sünkroonida erinevate domeenide vahekaartide vahel?


Ei, te ei saa andmeid otse sünkroonida erinevate domeenide vahekaartide vahel, kasutades brauseri sisseehitatud salvestussündmusi ja mehhanisme, nagu localStorage või sessionStorage. Sündmus "salvestusruum" ja brauseri salvestus-API-d on piiratud sama päritolu poliitikaga, mis tähendab, et need töötavad ainult samas domeenis.

Peamised piirangud on järgmised:

1. Sama päritolu eeskirjad: sündmusele "salvestusruum" ja brauseri salvestus-API-dele (localStorage, sessionStorage) kehtivad sama päritolureeglid. See tähendab, et sündmus käivitatakse ainult teistel sama domeeni vahekaartidel/akendel, mitte erinevatel domeenidel.

2. Domeeniülene suhtlus: puudub sisseehitatud brauseri mehhanism, mis võimaldaks vahekaartide või akende vaheliste andmete muutmist eri domeenides otse edastada. Sama päritoluga poliitika takistab turvakaalutlustel sellist domeenidevahelist suhtlust.

Kui teil on vaja sünkroonida andmeid eri domeenide vahekaartide või akende vahel, peate kasutama serveripoolset lahendust või kolmanda osapoole teenust, mis võib toimida vahendajana. Mõned valikud hõlmavad järgmist.

1. Serveripoolne sünkroonimine: saate kasutada serveripoolset mehhanismi, näiteks veebipistikuühendust või jagatud andmebaasi, et levitada andmete muudatusi erinevate domeenide vahel.

2. Kolmanda osapoole sõnumsideteenus: saate kasutada kolmanda osapoole sõnumsideteenust, näiteks Firebase'i, et avaldada ja tellida andmete muudatusi erinevates domeenides.

3. Kohandatud domeenidevaheline suhtlus: saate rakendada kohandatud domeenidevahelise suhtlusmehhanismi, näiteks kasutada HTML5 postMessage API-t koos vahendava iframe'i või -aknaga.

Need lahendused on aga keerukamad ja nõuavad täiendavat infrastruktuuri või kolmanda osapoole teenuseid. Sisseehitatud brauseri salvestusruum ja sündmused on piiratud ainult sama päritoluga suhtlusega.

Kokkuvõttes ei saa te brauseri sisseehitatud salvestusruumi ja sündmuste abil andmeid otse erinevate domeenide vahekaartide vahel sünkroonida. Domeenidevahelise andmete sünkroonimise saavutamiseks peate kasutama serveripoolset või kolmanda osapoole lahendust.

Tsitaadid:
[1] https://www.reddit.com/r/AZURE/comments/194hsdu/sync_files_with_customer_on_another_domain/
[2] https://www.sqlservercentral.com/forums/topic/set-up-database-sync-between-2-different-domain-servers
[3] https://torsten-muller.dev/javascript/communication-between-browser-tabs-synchronizing-state/
[4] https://nabeelvalley.co.za/blog/2024/07-03/localstorage-based-sync/
[5] https://community.cisco.com/t5/managing-users/user-identities-with-ad-sync-and-multiple-domains/td-p/4880178