Wie lange ist der Frühling temporäre CSRF-token Ablauf der Zeit?
Ich aktivierter CSRF-mit spring security und es funktioniert wie erwartet.
Ich lese Frühling offizielle Dokumentation über CSRF-Angriffe
http://docs.spring.io/spring-security/site/docs/3.2.7.RELEASE/reference/htmlsingle/#csrf
Ich auch dieses tutorial Lesen, über CSRF-Angriffe mit Spring und AngularJS
http://www.codesandnotes.be/2015/07/24/angularjs-web-apps-for-spring-based-rest-services-security-the-server-side-part-2-csrf/
Was Spring Security tut, ist, dass es einen nichtständigen Sitzung für
dass. Also im Grunde geht es so:
- Fordert der client ein token mit einem OPTIONS-Anfrage.
- Der server erstellt eine temporäre Sitzung, speichert das token und sendet wieder eine JSESSIONID-und das token an den client.
- Der client sendet die Anmeldeinformationen, dass JSESSIONID und CSRF-token.
- Gleicht der server die CSRF gespeichert, die für die empfangenen JSESSIONID und, wenn alles grün markiert, wird eine neue endgültige JSESSIONID und eine neue session-CSRF-token für den client zum überprüfen Ihrer Anfragen, nach dem login.
Wie ich verstanden habe, wenn Sie nicht eingeloggt sind, können Sie Ihre erste CSRF-token durch das senden einer OPTIONS-Anfrage auf eine API-Endpunkt, z.B. /api/login
Frühjahr wird dann eine CSRF-token gebunden an eine temporäre session (temporäre CSRF und JSESSIONID-cookies)
So, wenn ich bitten das CSRF-token als ein paar Minuten warten und schließlich versuchen einzuloggen, das CSRF-token haben kann expîred und ich habe zu Fragen, eine andere.
Ich konnte nicht herausfinden, wie die Konfiguration der temporären Spring session Ablaufzeit, und ich konnte Sie nicht finden, was war Ihre genaue Dauer.
Wer hat Informationen darüber ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
dies ist ein session fixation Strategie.
gibt es mindestens 2 Strategien für CSRFToken generation.
Standard-Verhalten sollte
per session
. Es bedeutet, dass, solange die session wärealive
einzige CSRFToken würde gebunden werden, um es (dies kann aber geändert werden).nach der erfolgreichen Authentifizierung, da der session fixation, eine neue session angelegt werden mit neuen CSRFToken.
dies ist falsch. es würde bleiben, solange die Sitzung aktiv sein möchte.
temporary session
heißttemporary
würde, denn es würde gültig sein, bis die Authentifizierung und wäre durch eine neue ersetzt. Aber der gleiche timeout-policy angewendet wird, um Sie als fürcommon
Sitzung. Sie können konfigurierensession-timeout
imweb.xml
mitsession-config
. der Standardwert vonTomcat
ist 30 Minuten.