La raccomandazione CORS W3C afferma:
Certain types of resources should not attempt to specify particular authorized origins, but instead either deny or allow all origins.
...
3. A GET response whose entity body happens to parse as ECMAScript can return an Access-Control-Allow-Origin header whose value is "*" provided there are no sensitive comments as it can be accessed cross-origin using an HTML script element. If needed, such resources can implement access control and CSRF protections as described above.
JSON analizza come ECMAScript?
È possibile che JSON produca effetti collaterali quando viene eseguito tramite un elemento di script HTML?
I contenuti web di origine incrociata possono ottenere l'accesso in lettura alle risposte JSON GET dalle richieste CSRF create tramite un elemento di script HTML?
Che cosa significa "commenti sensibili" in questo contesto?
Questo paragrafo si applica alle richieste GET che non accettano i cookie o l'autenticazione HTTP per l'autorizzazione? Ad esempio, se una richiesta fosse autorizzata solo da OAuth, la sua risposta non sarebbe accessibile a un browser tramite un elemento di script HTML. Ma facendo in modo che la sua risposta includesse Access-Control-Allow-Origin: *
per tutte le richieste autorizzate, il server perderebbe la possibilità di specificare le origini a cui il browser avrebbe concesso l'accesso.
Non includere Access-Control-Allow-Origin: *
indebolire la sicurezza delle risposte alle richieste autorizzate dai cookie o dall'autenticazione HTTP? Se una richiesta fosse autorizzata dai cookie, ad esempio, sarebbe eseguibile dal browser, ma il codice sorgente nel corpo della risposta non sarebbe accessibile ai contenuti web di origine incrociata. Rendendo la sua risposta include Access-Control-Allow-Origin: *
, il server comunica al browser che i contenuti web di tutte le origini dovrebbero avere accesso per leggere la risposta oltre a eseguirla.