Si dice che invece di aggiungere tutti i domini a CORS, si dovrebbe aggiungere solo un insieme di domini. Tuttavia a volte non è banale aggiungere un set di domini. Per esempio. se voglio esporre pubblicamente un'API, allora per ogni dominio che desidera effettuare una chiamata a tale API, dovrei essere contattato per aggiungere quel dominio all'elenco dei domini consentiti.Implicazioni sulla sicurezza dell'aggiunta di tutti i domini a CORS (Access-Control-Allow-Origin: *)
Mi piacerebbe fare un compromesso consapevole tra le implicazioni di sicurezza e meno lavoro.
Gli unici problemi di sicurezza che vedo sono gli attacchi DoS attacks e CSRF. Gli attacchi CSRF possono essere già raggiunti con elementi IMG e elementi FORM. Gli attacchi DoS relativi a CORS possono essere risolti bloccando le richieste sull'intestazione del referrer.
Mi mancano le implicazioni sulla sicurezza?
=== === Modifica
- Si presume che l'intestazione
Access-Control-Allow-Credentials
non è impostato - So come aggiungere un determinato elenco di domini "accesso CORS" e Sono quindi interessato solo alle implicazioni di sicurezza dell'aggiunta di tutti i domini "accesso CORS"
si può già eseguire il ping del URL con i tag img o iframe, CORS lascia solo ajax recuperare l'url. – dandavis
La modifica modifica drasticamente le implicazioni. Non consentendo alcuna richiesta autenticata, ciò significa che gli endpoint che si spera di esporre tramite CORS sono necessariamente limitati a funzioni "pubbliche". Tali endpoint molto probabilmente non risentirebbero affatto di avere Access-Control-Allow-Origin: *, principalmente perché non è possibile eseguire attacchi CSRF a un endpoint pubblico. –
Non penso sia possibile nemmeno usare 'Access-Control-Allow-Origin: *' insieme a 'Access-Control-Allow-Credentials: true' Vedere https://developer.mozilla.org/en- US/docs/Web/HTTP/Access_control_CORS # Access-Control-Allow-Origin e https://www.w3.org/TR/cors/#resource-requests – seanf