Molte volte negli ultimi N anni, avevo bisogno della mia pagina (ABC.com) per ottenere alcuni dati da un'origine diversa (XYZ.com) e visualizzarla (tutto in JavaScript, senza recupero del server).
Questo non funziona perché XYZ.com non ha ABC.com nella sua intestazione Access-Control-Allow-Origin
. Se l'intestazione includeva ABC.com, i cookie del mio browser (ovvero il cookie di autenticazione) per XYZ.com verrebbero inviati insieme alla richiesta di XYZ.com. Capisco perfettamente perché il browser vorrebbe impedire a ABC.com di effettuare richieste autenticate su XYZ.com se non ha accesso.
Ma in tutti i miei scenari, le richieste fatte a XYZ.com sono risorse disponibili al pubblico, non c'è autenticazione / cookie necessari, chiunque può prenderle. So che ci sono soluzioni alternative per questo (chiedi al server di ABC.com di richiedere i dati da XYZ.com). O XYZ.com può pubblicare JSONP. Ma nei miei casi, a volte sto servendo il mio file dal file system locale, quindi non c'è un server. Ottenere da un server è un PITA. E infine, non ho avuto il controllo di XYZ.com e non posso costringerlo a pubblicare anche JSONP. n La carne della domanda - se ABC.com non è nell'intestazione del Controllo degli accessi per XYZ.com, perché il browser non consentirebbe al JavaScript di ABC.com di fare una richiesta a XYZ.com MA NON invia nessuna delle XYZ.com cookie memorizzati nel browser per quell'utente. Se i produttori di browser lo hanno fatto, questo apre l'utente a una sorta di altra vulnerabilità? Perché non riesco a pensare a niente. Cosa mi manca? E 'solo una questione di manodopera, ci vorrà troppo tempo per programmarlo?