Domanda

Sto creando un'API destinato ad essere utilizzato dai clienti Javascript ospitati su domini diversi tramite CORS richieste.

Il mio API è possibile accedere solo tramite HTTPS.

Mi piacerebbe limitare l'accesso ai soli client JavaScript che vengono anche serviti da HTTPS domini.

La lettura dei CORS Spec - http://www.w3.org/ TR / cors / # user-agent-sicurezza - sembra che la maggior parte degli agenti utente impedirà automaticamente HTTPS client di HTTP richieste API

.

E 'possibile richiedere il contrario? - vale a dire impedire HTTP clienti l'accesso al mio HTTPS API

È stato utile?

Soluzione

Che dire controllando l'intestazione Referer per vedere se si inizia con "https"? Si potrebbe anche verificare che il Referer corrisponde al dominio di origine come un controllo di integrità.

Altri suggerimenti

mi rendo conto che questo è un po 'tardi a venire, ma mi capita di essere la navigazione CORS domande oggi.

La risposta è quello di guardare l'intestazione "Origine" nella richiesta. Se non si avvia con https: quindi respingere la richiesta. Non sono sicuro di quale sia la migliore codice di stato è quello di utilizzare, però. Probabilmente una risposta 403 Forbidden.

Si deve configurare il server per consentire solo https chiamate sul proprio API.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top