Neuinstallation auf 5.2.1. -> X-CSRF-Token is invalid.

Hallo ich habe unseren SHop neu aufgesetzt und bekomme dauerthaft fehlermeldungen beim Zahlungsarten wechsel oder beim registrieren. Selbst wenn ich die RESTAPI von paypal empfangen möchte bekomme ich das.

Kann mir jemand weiter helfen? Plugins sind alles nur welche die auch für 5.2.1 zugelassen wurden.

Ups! Ein Fehler ist aufgetreten!

[code]

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.

The provided X-CSRF-Token is invalid. Please go back, reload the page and try again. in engine/Shopware/Components/CSRFTokenValidator.php on line 151

Stack trace:

 #0 [internal function]: Shopware\Components\CSRFTokenValidator-\>checkFrontendTokenValidation(Object(Enlight\_Controller\_ActionEventArgs)) #1 engine/Library/Enlight/Event/Handler/Default.php(91): call\_user\_func(Array, Object(Enlight\_Controller\_ActionEventArgs)) #2 engine/Library/Enlight/Event/EventManager.php(214): Enlight\_Event\_Handler\_Default-\>execute(Object(Enlight\_Controller\_ActionEventArgs)) #3 engine/Library/Enlight/Controller/Action.php(143): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Object(Enlight\_Controller\_ActionEventArgs)) #4 engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight\_Controller\_Action-\>dispatch('saveShippingPay...') #5 engine/Library/Enlight/Controller/Front.php(226): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #6 engine/Shopware/Kernel.php(175): Enlight\_Controller\_Front-\>dispatch() #7 vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #8 engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #9 vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #10 vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #11 engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #12 vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #13 engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #14 shopware.php(101): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #15 {main}[/code]

 

Hallo !

habe den gleichen Fehler mit der Version 5.2.2

The provided X-CSRF-Token is invalid

Bei mir kommt der Fehler immer dann, sobald sich ein Kunde anmelden will. Nach einem Reload der Seite, klappt dann der Login. Wenn man sich nun ausloggt und wieder versucht neu einzuloggen, kommt der Fehler wieder.

Hallo,

darauf  habe ich in einem anderen Thread auch schon mehrfach hingewiesen. Bisher hilft nur - zumindest bei mir - für die gesamte Site SSL zu aktivieren.

1 Like

@bjornm schrieb:

Hallo,

darauf  habe ich in einem anderen Thread auch schon mehrfach hingewiesen. Bisher hilft nur - zumindest bei mir - für die gesamte Site SSL zu aktivieren.

Vielen Dank, aber das war leider nicht die Lösung. Das Problem besteht weiterhin. Hier die komplette Meldung:

The provided X-CSRF-Token is invalid. Please go back, reload the page and try again. in engine/Shopware/Components/CSRFTokenValidator.php on line 151

Stack trace:

 #0 [internal function]: Shopware\Components\CSRFTokenValidator-\>checkFrontendTokenValidation(Object(Enlight\_Controller\_ActionEventArgs)) #1 engine/Library/Enlight/Event/Handler/Default.php(91): call\_user\_func(Array, Object(Enlight\_Controller\_ActionEventArgs)) #2 engine/Library/Enlight/Event/EventManager.php(214): Enlight\_Event\_Handler\_Default-\>execute(Object(Enlight\_Controller\_ActionEventArgs)) #3 engine/Library/Enlight/Controller/Action.php(143): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Object(Enlight\_Controller\_ActionEventArgs)) #4 engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight\_Controller\_Action-\>dispatch('loginAction') #5 engine/Library/Enlight/Controller/Front.php(226): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #6 engine/Shopware/Kernel.php(176): Enlight\_Controller\_Front-\>dispatch() #7 vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #8 engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #9 vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #10 vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #11 engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #12 vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #13 engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #14 shopware.php(101): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #15 {main}

Wenn ich mich recht erinnere, musste ich auch den Browser-Cache löschen. Aber das sind alles experimentelle Erfahrungen - kenne mich einfach viel zu wenig aus.

Bei mir wurden (wie auch bei einigen anderen) die Einkaufswelten wegen des X-CSRF-Tokens (ShopId war nicht definiert) nicht angezeigt.
Ich habe in einem abgeleiteten Responsive Thema eine frontend/index/index.tpl, die schon etwas älter war… :slight_smile:

Guckt mal nach, ob die frontend/index/index.tpl, die Ihr benutzt,

_ **{block name="frontend\_index\_header\_javascript"}** _ am Ende diesen Bereich enthält: **var csrfConfig = csrfConfig............** Wenn nicht, einbauen... Siehe [https://github.com/shopware/shopware/blob/5.2/themes/Frontend/Bare/frontend/index/index.tpl#L204-208](https://github.com/shopware/shopware/blob/5.2/themes/Frontend/Bare/frontend/index/index.tpl#L204-208) Dann sollte das X-CSRF-Token-Dingens zumindest keine Probs mehr machen.... https://forum.shopware.com/discussion/comment/164908/ https://forum.shopware.com/discussion/comment/166098/
3 Likes

Bei mir läuft es jetzt wieder. Die Lösung war, dass ich den kompletten Shop auf SSL umgestellt habe. [Grundeinstellungen][Shopeinstellungen][Shops][Überall SSL verwenden]

Vielen Dank für die Hilfe

Wer gar nicht über das Problem hinweg kommt, der kann auch den CSRF-Schutz deaktivieren. Dazu muss man folgendes in die config.php eintragen:

‘csrfProtection’ => [
    ‘frontend’ => false,
    ‘backend’ => false
],

3 Likes

@EiTiCo schrieb:

Bei mir wurden (wie auch bei einigen anderen) die Einkaufswelten wegen des X-CSRF-Tokens (ShopId war nicht definiert) nicht angezeigt.
Ich habe in einem abgeleiteten Responsive Thema eine frontend/index/index.tpl, die schon etwas älter war… :slight_smile:

Guckt mal nach, ob die frontend/index/index.tpl, die Ihr benutzt,

_ {block name=“frontend_index_header_javascript”} _ am Ende diesen Bereich enthält: var csrfConfig = csrfConfig… Wenn nicht, einbauen… Siehe https://github.com/shopware/shopware/blob/5.2/themes/Frontend/Bare/frontend/index/index.tpl#L204-208 Dann sollte das X-CSRF-Token-Dingens zumindest keine Probs mehr machen… https://forum.shopware.com/discussion/comment/164908/https://forum.shopware.com/discussion/comment/166098/

Das leider auch nicht. Die Codeschnipsel waren eingebaut da ich das standard Tamplate nutze. 

 

Das einzige was bis jetzt hilft war wirklich diese Prüfung über die config auszuschalten.

@Hohenbostler schrieb:

@EiTiCo schrieb:

Bei mir wurden (wie auch bei einigen anderen) die Einkaufswelten wegen des X-CSRF-Tokens (ShopId war nicht definiert) nicht angezeigt.
Ich habe in einem abgeleiteten Responsive Thema eine frontend/index/index.tpl, die schon etwas älter war… :slight_smile:

Guckt mal nach, ob die frontend/index/index.tpl, die Ihr benutzt,

_ {block name=“frontend_index_header_javascript”} _ am Ende diesen Bereich enthält: var csrfConfig = csrfConfig… Wenn nicht, einbauen… Siehe https://github.com/shopware/shopware/blob/5.2/themes/Frontend/Bare/frontend/index/index.tpl#L204-208 Dann sollte das X-CSRF-Token-Dingens zumindest keine Probs mehr machen… https://forum.shopware.com/discussion/comment/164908/https://forum.shopware.com/discussion/comment/166098/

Das leider auch nicht. Die Codeschnipsel waren eingebaut da ich das standard Tamplate nutze. 

 

Das einzige was bis jetzt hilft war wirklich diese Prüfung über die config auszuschalten.

 

Da ich gerade auf 5.2 migiere bin ich auch zu diesen Problem gekommen. Den Codeschnipsel habe ich eingebaut, das ich auch eine Custom frontend/index/index.tpl Datei habe. Dies hat auch erstmal nicht das Problem behoben. Da es das schlimmste ist Sicherheitsfeatures auszustellen habe ich weiter nachgeforscht und habe es für mich gelöst.

Die Lösung war es fehlte dieser Eintrag 'src/js/jquery.csrf-protection.js', in meiner Theme.php.  shopware/Theme.php at 5.2 · shopware/shopware · GitHub

Falls die Datei noch nicht in euren Theme vorhanden ist bitte auch noch hinzufügen. :slight_smile:

Wir haben bei einem neuen shop 5.2.3 nun auch diesen Fehler jeden Abend einmal offenbar durch einen Botaufruf verursacht ?

die btroffene Zeile fehlt auch nicht in theme.php

Was bewirkt denn das abschalten in der config ?

eigentlich sollte man das nicht abschalten oder ?

 

exception 'Shopware\Components\CSRFTokenValidationException' with message 'The provided X-CSRF-Token is invalid. Please go back, reload the page and try again.' in /home/amafinoc/public_html/engine/Shopware/Components/CSRFTokenValidator.php:161
Stack trace:
#0 [internal function]: Shopware\Components\CSRFTokenValidator->checkFrontendTokenValidation(Object(Enlight_Controller_ActionEventArgs))
#1 /home/amafinoc/public_html/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#2 /home/amafinoc/public_html/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#3 /home/amafinoc/public_html/engine/Library/Enlight/Controller/Action.php(143): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#4 /home/amafinoc/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('indexAction')
#5 /home/amafinoc/public_html/engine/Library/Enlight/Controller/Front.php(226): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#6 /home/amafinoc/public_html/engine/Shopware/Kernel.php(176): Enlight_Controller_Front->dispatch()
#7 /home/amafinoc/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 /home/amafinoc/public_html/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#9 /home/amafinoc/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#10 /home/amafinoc/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#11 /home/amafinoc/public_html/engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#12 /home/amafinoc/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#13 /home/amafinoc/public_html/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 /home/amafinoc/public_html/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#15 {main}

Time: 	

2016-08-01T21:06:38.743659+0200

Channel: 	

core

request: 	

{
    "uri": "/modules/vtemslideshow/uploadimage.php",
    "method": "POST",
    "query": {
        "module": "frontend",
        "controller": "modules",
        "action": "vtemslideshow",
        "uploadimage.php": ""
    },
    "post": []
}

session: 	

{
    "sessionId": "9aa1b37063c0e9b17796b450e91e36db073d0fdc51dcffdf9b10c07fb66b7788",
    "sArea": null,
    "sCountry": null,
    "sState": null,
    "X-CSRF-Token": "RP8wt65rEGB4AV81XxfkEJ4TXdOV6m",
    "Bot": null
}

shopId: 	

1

shopName: 	

Amafino

 

@kulli schrieb:

Wir haben bei einem neuen shop 5.2.3 nun auch diesen Fehler jeden Abend einmal offenbar durch einen Botaufruf verursacht ?

die btroffene Zeile fehlt auch nicht in theme.php

Was bewirkt denn das abschalten in der config ?

eigentlich sollte man das nicht abschalten oder ?

 

exception ‘Shopware\Components\CSRFTokenValidationException’ with message ‘The provided X-CSRF-Token is invalid. Please go back, reload the page and try again.’ in /home/amafinoc/public_html/engine/Shopware/Components/CSRFTokenValidator.php:161
Stack trace:
#0 [internal function]: Shopware\Components\CSRFTokenValidator->checkFrontendTokenValidation(Object(Enlight_Controller_ActionEventArgs))
#1 /home/amafinoc/public_html/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#2 /home/amafinoc/public_html/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#3 /home/amafinoc/public_html/engine/Library/Enlight/Controller/Action.php(143): Enlight_Event_EventManager->notify(‘Enlight_Control…’, Object(Enlight_Controller_ActionEventArgs))
#4 /home/amafinoc/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch(‘indexAction’)
#5 /home/amafinoc/public_html/engine/Library/Enlight/Controller/Front.php(226): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#6 /home/amafinoc/public_html/engine/Shopware/Kernel.php(176): Enlight_Controller_Front->dispatch()
#7 /home/amafinoc/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 /home/amafinoc/public_html/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#9 /home/amafinoc/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#10 /home/amafinoc/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#11 /home/amafinoc/public_html/engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#12 /home/amafinoc/public_html/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#13 /home/amafinoc/public_html/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 /home/amafinoc/public_html/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#15 {main}

Time:

2016-08-01T21:06:38.743659+0200

Channel:

core

request:

{
“uri”: “/modules/vtemslideshow/uploadimage.php”,
“method”: “POST”,
“query”: {
“module”: “frontend”,
“controller”: “modules”,
“action”: “vtemslideshow”,
“uploadimage.php”: “”
},
“post”:
}

session:

{
“sessionId”: “9aa1b37063c0e9b17796b450e91e36db073d0fdc51dcffdf9b10c07fb66b7788”,
“sArea”: null,
“sCountry”: null,
“sState”: null,
“X-CSRF-Token”: “RP8wt65rEGB4AV81XxfkEJ4TXdOV6m”,
“Bot”: null
}

shopId:

1

shopName:

Amafino

 

Es sieht für mich stark aus, das die Seite die du da ansprichst ein Plugin ist!?

 Das beste wäre wenn man die Aktion Whitelisten kann CSRF Protection Dann brauchst du es nicht auszuschalten. 

Man sollte es nicht abschalten, da es mehr Schutz beim Kunden bedeutet.

Warum sieht es für dich nach Plugin aus ?

(der request “vtemslideshow” ist mir nicht bekannt, bzw. eine Slideshow ist nicht installiert)

deswegen nehme ich eher an, dass ein Bot versucht drauf zuzugreifen und das den Fehler auslöst ?

Es sind nur für 5.2.3 freigegeben Plugins installiert

@kulli schrieb:

Warum sieht es für dich nach Plugin aus ?

(der request “vtemslideshow” ist mir nicht bekannt, bzw. eine Slideshow ist nicht installiert)

deswegen nehme ich eher an, dass ein Bot versucht drauf zuzugreifen und das den Fehler auslöst ?

Es sind nur für 5.2.3 freigegeben Plugins installiert

Weil ich die Url auch nicht kannte und dachte es vllt ein Plugin von dir.

Ansonsten ist es doch nicht schlimm!? Ist ja nur ein Bot und eigentlich passiert ja genau was es soll. Die Seite lässt nicht zu das der post-Request gemacht wird, da kein valider CSRF token existiert.

Hallo,

 

habe den selben Fehler. Der Codeschnipsel ist bereits in meinem Template enthalten.

Wenn ich den genannten Code in die config.php einsetze, kann ich nicht mehr auf das Backend zugreifen.

Welche anderen Lösungsmöglichkeiten gibt es?

Bei mir tritt der Fehler immer im Checkout nach Wahl der Zahlungsmöglichkeit und nach Klicken auf „Weiter“ auf. Somit ist keine Bestellabwicklung möglich. Das Problem trat bei mir erst nach Update auf die Version 5.2.8 auf…

Wer kann helfen? Habe absolut keinen Plan, wo und was ich noch machen soll. Brauche dringend eine Lösung, da der Shop gerade von Trusted Shops validiert wird.

Vielen Dank im Voraus!

 

Die Meldungen abschalten: Grundeinstellungen - System - Log

Wen es im Checkout nicht weiter geht, hat das nichts mit der ursprünglichen Meldung zu tun, sondern irgend ein inkompatibles Plugin ? oder sonstein Fehler

 

Hallo kulli,

 

danke für die Mitteilung. Habe jetzt auf 5.2.9 upgedatet und alle nicht kompatiblen Plugins deaktiviert bzw. auch welche deinstalliert. Bis auf das Plugin Multishop, da ich diese brauche. Der HM-Sportartikel.de Shop ist nämlich ein Subshop meines Hauptshops hm-teamsport.de.

Fehler ist allerdings immer noch präsent. Unter den Grundeinstellungen - System - Log ist die einzige Auswahl “Fehler an Shopbetreiber senden” und diese steht und stand schon immer auf “Nein”.

Hast Du sonst noch Ideen?

 

Das komische ist, dass ich im Hauptshop keinen Fehler erhalten. Liegt es vielleicht doch am Subshop Plugin von Shopware???!!!

Ab 5.2 sind Subshops/Multishops im Core. Das Plugin brauchst du nicht mehr und gibt es auch für 5.2 gar nicht. 

Das kann bzw. sollte raus, deinstalliert und gelöscht werden