Ist es möglich, Browser zu verhindern, dass CORS -CORS -Anfragen vorgenommen werden?

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

  •  25-10-2019
  •  | 
  •  

Frage

Ich erstelle eine API, die von JavaScript -Clients verwendet werden soll, die über CORS -Anfragen auf verschiedenen Domänen gehostet werden.

Auf meine API kann nur über HTTPS zugegriffen werden.

Ich möchte den Zugriff nur auf die JavaScript -Clients einschränken, die auch aus HTTPS -Domänen bedient werden.

Lesen der CORS Spec - http://www.w3.org/tr/cors/#user-agent-security - Es scheint, dass die meisten Benutzeragenten den HTTPS -Client automatisch an HTTP -API -Anforderungen verhindern.

Ist es möglich, das Gegenteil zu verlangen - dh verhindern, dass HTTP -Clients auf meine HTTPS -API zugreifen?

War es hilfreich?

Lösung

Was ist mit der Überprüfung des Referer -Headers, um zu sehen, ob er mit "https" beginnt? Sie können auch überprüfen, ob der Referator der Ursprungsdomäne als Vernunftprüfung übereinstimmt.

Andere Tipps

Mir ist klar, dass dies ein bisschen spät kommt, aber ich stöbere heute CORS -Fragen.

Die Antwort ist, den "Origin" -Header in der Anfrage zu betrachten. Wenn es nicht mit beginnt mit https: Lehnen Sie dann die Anfrage ab. Ich bin mir jedoch nicht sicher, wie der beste Statuscode verwendet wird. Wahrscheinlich a 403 Forbidden Antwort.

Sie sollten Ihren Server so konfigurieren, dass nur HTTPS -Anrufe auf Ihrer API aufgerufen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top