Es gibt zwei Möglichkeiten, Authentifizierungsinformationen im Browser zu speichern:
- Cookies
- HTML5-Webspeicher
ol> In jedem In diesem Fall müssen Sie darauf vertrauen, dass die Browser korrekt implementiert sind und dass Website A nicht auf die Authentifizierungsinformationen für Website B zugreifen kann. In diesem Sinne sind beide Speichermechanismen gleich sicher. Es können jedoch Probleme hinsichtlich der Verwendung auftreten.
Wenn Sie Cookies verwenden:
- Der Browser sendet die Authentifizierungsinformationen bei jeder Anforderung automatisch an die API. Dies kann praktisch sein, solange Sie wissen, dass es passiert.
- Sie müssen sich daran erinnern, dass CSRF eine Sache ist, und sich damit befassen.
Wenn Sie HTML5 Web verwenden Speicher:
- Sie müssen Javascript schreiben, das genau verwaltet, wann und welche Authentifizierungsinformationen gesendet werden.
Der große Unterschied, den die Leute interessieren, ist der bei Cookies. Sie müssen sich um CSRF sorgen. Um CSRF richtig zu handhaben, benötigen Sie normalerweise ein zusätzliches "Synchronizer-Token".
All-in-One-Webframeworks (wie Grails, Rails, wahrscheinlich asp.net) bieten normalerweise ein Einfache Möglichkeit, den CSRF-Schutz zu aktivieren und automatisch Synchronizer-Token in Ihre Benutzeroberfläche einzufügen. Wenn Sie jedoch eine Benutzeroberfläche mit einem clientseitigen Webframework (wie AngularJS oder BackboneJS) schreiben, müssen Sie Javascript schreiben, um das Synchronisierungstoken zu verwalten. In diesem Fall können Sie sich genauso gut für den HTML5-Webspeicher-Ansatz entscheiden und sich nur um ein Token kümmern.
Einige andere Unterschiede werden hier erläutert.
Bearbeiten Eine Google-Suche zeigt dies für asp.net an. Das Synchronisierungstoken wird als "Anforderungsüberprüfungstoken" bezeichnet.