CSRFTokenValidationException Fehler - X-CSRF-Token invalid

Hallo, kann jemand was mit diesem Fehler anfangen?  Habe die neueste Shopversion schon installiert, aber der Fehler ist immer noch da.

ERROR

Message:

 Shopware\Components\CSRFTokenValidationException: The provided X-CSRF-Token for path "/en/checkout/saveShippingPayment/sTarget/checkout/sTargetAction/index" is invalid. Please go back, reload the page and try again. in /icekkjfo/www.iced-out.biz/engine/Shopware/Components/CSRFTokenValidator.php:155 Stack trace: #0 /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Event/Handler/Default.php(91): Shopware\Components\CSRFTokenValidator-\>checkFrontendTokenValidation(Object(Enlight\_Controller\_ActionEventArgs)) #1 /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Event/EventManager.php(214): Enlight\_Event\_Handler\_Default-\>execute(Object(Enlight\_Controller\_ActionEventArgs)) #2 /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Controller/Action.php(141): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Object(Enlight\_Controller\_ActionEventArgs)) #3 /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight\_Controller\_Action-\>dispatch('saveShippingPay...') #4 /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Controller/Front.php(223): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #5 /icekkjfo/www.iced-out.biz/engine/Shopware/Kernel.php(182): Enlight\_Controller\_Front-\>dispatch() #6 /icekkjfo/www.iced-out.biz/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel-\>handle(Object(Enlight\_Controller\_Request\_RequestHttp), 1, true) #7 /icekkjfo/www.iced-out.biz/engine/Shopware/Components/HttpCache/AppCache.php(266): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #8 /icekkjfo/www.iced-out.biz/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #9 /icekkjfo/www.iced-out.biz/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #10 /icekkjfo/www.iced-out.biz/engine/Shopware/Components/HttpCache/AppCache.php(141): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #11 /icekkjfo/www.iced-out.biz/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #12 /icekkjfo/www.iced-out.biz/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #13 /icekkjfo/www.iced-out.biz/shopware.php(117): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #14 {main}

Time:

 2017-05-08T15:45:28.706261+0200

Channel:

 core

request:

 { "uri": "/en/checkout/saveShippingPayment/sTarget/checkout/sTargetAction/index", "method": "POST", "query": { "module": "frontend", "controller": "checkout", "action": "saveShippingPayment", "sTarget": "checkout", "sTargetAction": "index" }, "post": { "payment": "7", "sDispatch": "11", "sAGB": "0" } }

session:

 No session data available

shopId:

 3

shopName:

 ICED OUT UK

Ist eine Schutzfunktion von Shopware. Auch wenn ich befürchte von den anderen Nutzern erschlagen zu werden, versuch mal:

 'csrfProtection' =\> **array** ( 'frontend' =\> **false** , 'backend' =\> **false** )

in deine config.php einzufügen.

Damit solltest du diese Funktion deaktivieren die wohl noch nicht ganz bug-frei ist.

Das hat soweit ich weiß was mit der SSL Einstellung zu tun.

Wenn jemand mehr weiß, bitte ich ihn mich zu belehren :slight_smile:

 

Lg.

Updaten auf die aktuelle Version 5.2.22. Läuft mit aktivieren csrf Token einwandfrei.

Ja, das habe ich schon gemacht, trotzdem tritt dieser Fehler auf:

 

ERROR

Message:

 Enlight\_Controller\_Exception: Action "Widgets\_Index\_indexAction" not found failure in /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Controller/Action.php:402 Stack trace: #0 /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Controller/Action.php(159): Enlight\_Controller\_Action-\>\_\_call('indexAction', Array) #1 /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight\_Controller\_Action-\>dispatch('indexAction') #2 /icekkjfo/www.iced-out.biz/engine/Library/Enlight/Controller/Front.php(223): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #3 /icekkjfo/www.iced-out.biz/engine/Shopware/Kernel.php(182): Enlight\_Controller\_Front-\>dispatch() #4 /icekkjfo/www.iced-out.biz/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel-\>handle(Object(Enlight\_Controller\_Request\_RequestHttp), 1, true) #5 /icekkjfo/www.iced-out.biz/engine/Shopware/Components/HttpCache/AppCache.php(266): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #6 /icekkjfo/www.iced-out.biz/vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #7 /icekkjfo/www.iced-out.biz/vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>fetch(Object(Symfony\Component\HttpFoundation\Request), true) #8 /icekkjfo/www.iced-out.biz/engine/Shopware/Components/HttpCache/AppCache.php(187): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #9 /icekkjfo/www.iced-out.biz/vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #10 /icekkjfo/www.iced-out.biz/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #11 /icekkjfo/www.iced-out.biz/shopware.php(117): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #12 {main}

Time:

 2017-05-08T22:21:34.273066+0200

Channel:

 core

request:

 { "uri": "/fr/widgets/SwagCookiePermission/isAffectedUser?\_\_csrf\_token=mItxYnTDVZrcq1wHmWSEcXcAEiCSyx", "method": "GET", "query": { "\_\_csrf\_token": "mItxYnTDVZrcq1wHmWSEcXcAEiCSyx", "module": "widgets", "controller": "SwagCookiePermission", "action": "isAffectedUser" }, "post": [] }

session:

 No session data available

shopId:

 4

shopName:

 ICED OUT FR

Jemand eine Idee was dieser “SwagCookiePermission”   ist?

 

Steht ja im Prinzip da. Ist ein Cookie Entfernen Plugin. Zb. http://store.shopware.com/swag01118/shopware-cookie-entfernen.html

oder ein anderes.

Ich nehme alles zurück! Fehler besteht auch in der aktuellen Version noch, auch wenn er sich dort etwas anders darstellt.

Folgendes Szenario:

Artikel in den Warenkorb legen und zur Kasse gehen. Als registrierter Kunde einloggen. Dann eine andere Zahlungsart bspw. Vorkasse wählen und man wird ausgeloggt mit dem Hinweis dass die Zugangsdaten keinem Benutzer zugeordnet werden konnten. Ja ne ist klar, ich war ja zuvor auch nicht erfolgreich eingeloggt.

Im Testsystem habe ich die erweiterte Fehlerausgabe aktiv. Dort kam irgendwas von cookie Session sei abgelaufen o.Ä. und man soll im Browser ein Schritt zurückgehen. Habe ich 100 mal gemacht, keine Chance, konnte mich überhaupt nicht mehr einloggen.

Nach Deaktivierung des csrf Gedöns läuft wieder alles bestens. Wobei das bloße Cache löschen + Theme kompilieren nichts brachte, musste zusätzlich zur deaktivierung noch den Cache umbenennen.

Grüße 

Bei mir besteht dieser Fehler auch noch, aber scheinbar ist es ein Fehler im Plugin von Paypal bzw. Paypal Plus.

Wäre super wenn Shopware es irgendwie beheben würde…

LG

Wie habt ihr denn SSL aktiv? Überall im Shop oder nur im Checkout?

Mit der Beschreibung kann ich es jedenfalls nicht nachstellen.

1 „Gefällt mir“

Hier ist seit eh und je SSL komplett aktiv [@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍. Vor dem Update auf 5.2.22 kam es immer zum csrf Problem wenn man einen Artikel im Warenkorb löschen oder auch die Stückzahl erhöhen wollte, tritt in der aktuellen Version nicht mehr auf, daher ging ich davon aus dass nun alles läuft. Nun tritt allerdings das Fehleverhalten bei registrierten Usern auf, wie von mir geschildert. Nach Deaktivierung von csrf im Frontend, in der config.php, läuft wieder alles bestens. Was ich vergessen hatte zu erwähnen, war nur auf dem Smartphone so (Android), Desktop gab es, zumindest gestern, keine Probleme.

Hallo Trixx,

ich habe so ziemlich das gleich Problem. Hast du Paypal Plus oder Paypal Ratenkauf aktiv?

Hab das mal gerade auf einem Nexus 7 getestet mit Chrome Browser.

  • In ein bestehendes Kundenkonto eingeloggt (Kundenkonto hatte Paypal als Zahlungsart hinterlegt)
  • Zur Kasse gewechselt und dort auf “Zahlungsart ändern” geklickt
  • Zahlungsart auf Vorkasse gewechselt

Ich konnte dann ganz normal bestellen.

1 „Gefällt mir“

@icedoutbiz schrieb:

Hallo Trixx,

ich habe so ziemlich das gleich Problem. Hast du Paypal Plus oder Paypal Ratenkauf aktiv?

Hallo,

PayPal Plus mit Rechnung, Lastschrift und Kredikarte. Ansonsten noch Stripe mit Sofortüberweisung, Giropay und ideal. 

Hast du mal probiert Paypal Plus zu deaktivieren? Tritt der Fehler dann immer noch auf?

@Moritz Naczenski schrieb:

Hab das mal gerade auf einem Nexus 7 getestet mit Chrome Browser.

  • In ein bestehendes Kundenkonto eingeloggt (Kundenkonto hatte Paypal als Zahlungsart hinterlegt)
  • Zur Kasse gewechselt und dort auf „Zahlungsart ändern“ geklickt
  • Zahlungsart auf Vorkasse gewechselt

Ich konnte dann ganz normal bestellen.

Nicht im Kunden-Account „Zahlungart ändern“, ich hatte die Zahlungsart gestern direkt in der Paywall geändert. Siehe Screenshot oder meinst Du das? 

Hast du den Checkout Step2 immer aktiv über die Einstellung?
Sonst musst du doch auf “Zahlungsart ändern” gehen um die zu ändern.

1 „Gefällt mir“

@Moritz Naczenski schrieb:

Hast du den Checkout Step2 immer aktiv über die Einstellung?
Sonst musst du doch auf „Zahlungsart ändern“ gehen um die zu ändern.

Das kann ich dir gearde leider nicht sagen, da die ich die Einstellung dafür gerade nicht finde, hatte das glaube ich aber nicht aktiv.  Ich gehe vom Warenkorb aus auf „zur Kasse“ und dann habe ich gleich die Paywall vom Screenshot. Im off-canvas ist zudem „zur Kasse“ für nicht registrierte Kunden ausgeblendet (Template Anpassung), so dass diese zunächst einmal in den Warenkorb müssen. 

Ich hatte jetzt eben im Testsystem csrf mal wieder aktiviert, jetzt kann ich es komischerwesie auch nicht mehr nachstellen, funktioniert plötzlich wieder einwandfrei, echt kein Plan…

Mir ist jetzt beim testen noch etwas anderes aufgefallen wo ich mich frage ob das so sein soll, tritt aber unabhängig davon auf ob csrf aktiv ist oder nicht, wenn es zu Off-Topic ist, kann ich auch nen neuen Thread aufmachen.

Wenn man bspw. Vorkasse auswählt (ist bei mir ganz nunten als letztes) und nur mit dem Smartphone einfach dann wieder nach oben scrollt, wird automatisch PayPal als Zahlungsart gewählt. Dachte erst ich wäre da versehentlich mit dem Finger draufgekommen, ist aber nicht so, nach oben scrollen, PayPal wird als Zahlungsart ausgewählt. 

Also auf der Kassen-Seite (Checkout/Confirm) gibt es eig. nur die Payment-Wall - keine andere Zahlungsart (= nicht Paypal Zahlungsart) wird da im Standard angezeigt. Bist du sicher, dass das nicht ggf. aus einem anderen Plugin kommt?

1 „Gefällt mir“

@Moritz Naczenski schrieb:

Also auf der Kassen-Seite (Checkout/Confirm) gibt es eig. nur die Payment-Wall - keine andere Zahlungsart (= nicht Paypal Zahlungsart) wird da im Standard angezeigt. Bist du sicher, dass das nicht ggf. aus einem anderen Plugin kommt?

Also bei mir geht es sofort auf /checkout/shippingPayment

Ich nutze euer neues Fashion Theme, liegt es evtl. daran? Sonst sind für´n Checkout keine Plugins aktiv. Ich kann dir sonst auch gleich per PN mal kurz den Link zum Testshop schicken, bevor wir evtl. doch noch aneinander vorbeireden.  

Edit: Auch auf dem Desktop muss ich nur nach oben Scrollen und PayPal wir wider automatisch als Zahlungsart gewählt.

ja, schick mir einfach mal den Link.

Dann schau ich später mal drauf.

1 „Gefällt mir“