Come viene eseguita l'approvazione in cors tramite la richiesta di preflight?

1

Per quanto ne so in CORS, il browser invia il preflight con la richiesta OPTIONS al server per ottenere l'approvazione per la reale successiva richiesta GET / POST. Ora, HTTP non ha sessioni. L'intestazione personalizzata THE WAY garantisce che la richiesta successiva provenga dallo stesso client?

Vedi la sezione commenti della risposta accettata a questa domanda: link

    
posta Sudip Bhandari 25.07.2016 - 14:14
fonte

1 risposta

3

Due cose da capire su CORS:

  1. CORS non serve per autenticare / approvare il client , è per approvare una richiesta originata dal codice che si esegue all'interno di una pagina web su un'origine che è destinata a un'altra origine (come il codice JavaScript su domain1.com facendo una XmlHttpRequest su domain2.com).

  2. L'applicazione CORS è interamente client-side. Il server non convalida nulla.

Il client è responsabile per chiedere al server web, "a chi è consentito connettersi?". Il server web gli fornisce un elenco (ovvero l'intestazione Access-Control-Allow-Origin ) delle origini di origine che il client potrebbe visualizzare, a cui è consentito effettuare richieste.

Il client (browser) controlla se l'origine che sta servendo è nell'elenco o corrisponde al carattere jolly e, in caso affermativo, consente la richiesta, altrimenti la blocca.

So che, in generale, sembra sciocco dipendere dal client per sicurezza, ma la cosa da ricordare è che CORS è una specifica per il relax della politica di origine identica, che è interamente un concetto di browser Web.

La politica della stessa origine e le CORS sono prive di significato al di fuori del contesto dei browser web. Da una pura prospettiva di interazione HTTP e client / server, non c'è nulla di intrinsecamente insicuro nel fare una richiesta HTTP a un server web. I server Web sono destinati a ricevere richieste. Questo è il loro scopo. La politica della stessa origine è in atto per prevenire gli abusi da sandboxing pagine web . CORS è un modo per consentire a un browser di giocare al di fuori della sua sandbox in modo controllato, sicuro e revocabile. L'onere è sui browser per rafforzarlo perché i browser sono quelli a cui interessa davvero.

    
risposta data 25.07.2016 - 14:58
fonte

Leggi altre domande sui tag