Ho sempre pensato che le restrizioni CORS dovessero disabilitare il seguente scenario:
Inserisco attacker.com, JS invia GET facebook.com, il mio browser aggiunge i miei cookie, attacker.com ha accesso al mio profilo / feed di Facebook.
MA
Sto tentando di inviare una richiesta GET dal mio link a MY link con javascript, perché voglio condividere alcune informazioni dell'utente nel mio negozio. shop.domain.com è shopify quindi non posso inserire alcun codice di backend in questo sottodominio.
Ho ricevuto questo errore:
Access to XMLHttpRequest at 'https://www.domain.com/api/accounts/me' from origin 'https://shop.domain.com' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
la mia API restituisce Access-Control-Allow-Origin: *
e I ANCORA non può inviare credenziali. quindi qual è il caso d'uso per Access-Control-Allow-Origin: *
? Posso capire perché non funziona, ma cosa sono protetto da se questa intestazione non è presente.
Che cosa cambia questa intestazione?
anche i miei cookie sono a livello di dominio ma solo HTTP, quindi JS su shop.domain.com non può semplicemente estrarre il mio id di sessione.