Wann kann CORS sicher aktiviert werden?

Ich bin die Entwicklung einer JSON/REST web-API, für die ich ausdrücklich, dass websites Dritter aufrufen zu können meinen service durch AJAX. Daher mein service ist das senden des berühmten CORS-header:

Access-Control-Allow-Origin: *

Die es erlaubt Drittanbieter-Websites zu nennen, die meinen Dienst durch AJAX. Alles fein so weit.

Jedoch ein Teilgebiet meiner web-api ist nicht öffentlich und erfordert eine Authentifizierung (ziemlich standard-Sachen, die mit OAuth und ein access_token cookie). Es ist sicher zu ermöglichen CORS auf diesem Teil meiner Website als gut?

Auf der einen Seite, es wäre cool, wenn websites von Dritten haben könnte, ajax-clients, die auch die Interaktion mit diesem Teil meiner Dienstleistung. Aber der Grund, dass es wird eine same-origin-policy in den ersten Platz, ist, dass dies riskant sein. Sie wollen nicht jede website, die Sie besuchen anschließend in der Lage sein, um Zugriff auf Ihre privaten Inhalte.

Dem Szenario, das ich befürchte, ist, dass ein Benutzer anmeldet auf meiner web-api, entweder auf der website oder über eine website, die er vertraut, und er vergisst auszuloggen. Dies wird erlauben, jede andere website, dass er die Ausflüge danach Zugriff auf seine privaten Inhalte, die über die bestehende session?

Also meine Fragen:

  • Ist es jemals sicher zu ermöglichen CORS auf nicht-öffentliche Inhalte?
  • Wenn ein CORS-fähigen server setzt session_token durch ein cookie, dieses cookie gespeichert werden unter der domain des CORS-server oder web-server-Seite?

InformationsquelleAutor der Frage Jeroen | 2012-03-15

Schreibe einen Kommentar