Est-il possible d'empêcher les navigateurs en font la demande CORS de régime croix?

StackOverflow https://stackoverflow.com/questions/6303460

  •  25-10-2019
  •  | 
  •  

Question

Je crée une API destinée à être utilisée par les clients hébergés Javascript sur différents domaines via des requêtes CORS.

Mon API est uniquement accessible via HTTPS.

Je voudrais limiter l'accès aux seuls clients Javascript qui sont également servis à partir de domaines HTTPS.

La lecture des spécifications CORS - http://www.w3.org/ TR / CORS / # user-agent-sécurité - il semble que la plupart des agents utilisateurs empêche automatiquement le client HTTPS requêtes HTTP API

.

Est-il possible d'exiger l'inverse - à savoir empêcher les clients HTTP accéder à mon API HTTPS

Était-ce utile?

La solution

Qu'en est-il de vérifier l'en-tête Referer pour voir si elle commence par « https »? Vous pouvez également vérifier que le Referer correspond au domaine d'origine comme une vérification de bon sens.

Autres conseils

Je sais que c'est un peu en retard à venir, mais j'arrive à la navigation des questions CORS aujourd'hui.

La réponse est de regarder l'en-tête « Origine » dans la demande. Si elle ne commence pas par https: rejeter ensuite la demande. Je ne sais pas quel est le meilleur code d'état est d'utiliser, cependant. Probablement une réponse 403 Forbidden.

Vous devez configurer votre serveur pour autoriser uniquement les appels https sur votre API.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top