2017-10-31 2 views
0

Ich habe eine GWTP-Anwendung (app1) Aufruf einer anderen GWTP-Anwendung (app2). Die erste setzt eine SecurityCookie als zweite.Fehler möglich XSRF Angriff in GWTP-Anwendung

Wenn App1 auf neue Sitzung ist, und dies App2 öffnet, funktioniert alles. Wenn ich meinen Browser schließen und schalten Sie app1 in neue Sitzung ohne den Browser-Cache zu Wischen, app1 ruft app2 und druckt den folgenden Fehler:

SEVERE: Cookie provided by RPC does not match request cookie, aborting action, possible XSRF attack. (Maybe you forgot to set the security cookie?)

+0

Verwenden Sie 'RandomSecurityCookieFilter' oder' HttpSessionSecurityCookieFilter'? Und wenn du zwei getrennte Apps sagst, meinst du wirklich zwei getrennte Apps? Weil nicht die Kommunikation zwischen verschiedenen Apps den XSRF-Schutz verhindern soll? – slugmandrew

Antwort

0

Ohne weitere Informationen ist es schwer, eine exakte Lösung zu liefern, aber das ist ein bekannter Problem in GWTP, da die RandomSecuritySessionFilter den Cookie jedes Mal ändert, wenn eine neue RPC-Anforderung ausgegeben wird.

Siehe this github issue here. Es ist ziemlich lang, aber das Lesen lohnt sich, wenn Sie das Problem verstehen wollen.

In meiner eigenen App habe ich etwa 5 asynchrone RPC-Aufrufe auf einmal und immer den gleichen Fehler wie im Entwicklungsmodus, aber viel seltener in der Produktion (weil der Entwicklungsserver so schnell ist, dass Anrufe viel zurückgeben mehr zufällige Mode). Als Hack habe ich den Cookie im Entwicklungsmodus ausgeschaltet, weil er mir das Leben so schwer machte.