Ho un sistema che ha bisogno di fare richieste di origine incrociata e difficoltà nel comprendere la rilevanza di CORS . A prima vista non sembra fornirmi alcun tipo di sicurezza che vorrei realmente per il mio servizio.
-
Dato che CORS è onorato solo sul lato client, il mio server deve comunque formulare presupposti zero sulla richiesta. Non vi è alcuna garanzia che una richiesta provenga da un browser, quindi le intestazioni CORS non possono essere utilizzate come controllo di accesso.
-
Il server di destinazione decide chi è autorizzato a parlare con esso e il server di origine non ha alcun controllo. Anche il mio JavaScript non è sicuro sul client e soggetto a modifiche. Un server malevolo potrebbe semplicemente accettare tutte le richieste CORS e quindi tutti i dati potrebbero fuoriuscire dalla mia applicazione.
Vedo solo un ambito ristretto in cui CORS è effettivamente utile. Questo è lo scenario di Facebook. Le restrizioni di origine incrociata predefinite impediscono a una pagina malevola di inoltrare richieste a Facebook per conto dell'utente. CORS semplicemente consente a determinati domini di farlo. Tuttavia, non vedo ancora il valore in CORS qui perché alcune semplici configurazioni DNS consentirebbero lo stesso comportamento.
Quindi cosa mi manca di CORS? In quali scenari è rilevante e vantaggioso utilizzare (rispetto ai DNS CNAME semplici)?