Fehler nach Formularübermittlung

Hallo zusammen,

ich beobachte seit kurzem einen Fehler bei der Übermittlung von Formularen. Es erscheint die Fehlerseite “Upps usw.”. Ich habe es heute wieder im Newsletterformular gesehen und in Firebug konnte ich sehen, dass die Anfrage für “Newsletter” mit einem Fehlercode 400 quittiert wird.

Geht man dann zurück, lädt die Seite neu und übermittelt das Formular neu ist alles OK und zwar für eine ganze Weile. Ich habe den Verdacht, dass der Fehler immer dann auftritt, nachdem der HTTP Cache aufgewärmt worden ist.

Es tritt bei allen meinen drei Browsern auf: Chrome, Firefox und Safari.

Diesen Fehler habe ich übrigens auch schon im Responsive-Theme beobachten können.

Habt Ihr irgendeine Idee, wie ich der Ursache auf die Schliche kommen könnte?

Danke bereits und schönes WE

Wir haben seit Dienstag bei einigen Shops die den Mailserver von Host Europe nutzen das selbe Problem. Dies betrifft nicht nur die Formulare sondern den gesamten Bestellprozess. Der Fehler tritt dann auf wenn eine vom Shopware generierte Mail nicht versendet werden kann.

Das ist ja schon mal ein Ansatz. Mein Shop ist bei einem anderen Hoster als mein Mail-Server. Liegt es dann eher am Shop oder am Mail-Server?

Hi,

um das einschätzen zu können, müssten wir die konkrete Fehlermeldung sehen. Hier ist dokumentiert, wie du die findest: http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html

Schönen Abend,

Daniel

Murphy’s Law: Jetzt tritt der Fehler mal wieder seit Tagen nicht auf…

Ich habe es nun endlich mal wieder geschafft, den Fehler zu provozieren. Die komplette Fehlermeldung lautet:

 

The provided X-CSRF-Token is invalid. Please go back, reload the page and try again. in engine/Shopware/Components/CSRFTokenValidator.php on line 161
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(‘indexAction’)
#5 engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#6 engine/Shopware/Kernel.php(177): 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(113): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#15 {main}

Ist das ein Standard Formular von Shopware oder eins von Plugins?

Das betrifft Standard-Formulare. Ich habe aber schon gesehen, dass es zu dieser Fehlermeldung mehrere Threads gibt. Dann warte ich mal ab.

Hallo,

ich habe das gleiche Problem beim Bestellabschluss. Kann leider nicht sagen ob es an einer bestimmten Bezahlart liegt oder nicht, da der Fehler nur sporadisch auftritt.

Der gesendete Fehlercode dabei ist:

exception 'Shopware\Components\CSRFTokenValidationException' with message 'The provided X-CSRF-Token is invalid. Please go back, reload the page and try again.' in /html/shopware/engine/Shopware/Components/CSRFTokenValidator.php:161

Stack trace:

#0 [internal function]: Shopware\Components\CSRFTokenValidator->checkFrontendTokenValidation(Object(Enlight_Controller_ActionEventArgs))

#1 /html/shopware/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))

#2 /html/shopware/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))

#3 /html/shopware/engine/Library/Enlight/Controller/Action.php(143): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))

#4 /html/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('saveShippingPay...')

#5 /html/shopware/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))

#6 /html/shopware/engine/Shopware/Kernel.php(176): Enlight_Controller_Front->dispatch()

#7 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

#8 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)

#9 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)

#10 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)

#11 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)

#12 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)

#13 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

#14 /html/shopware/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))

#15 {main}

2016-11-08T15:33:48.870243+0100

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

 

@echse schrieb:

Hallo,

ich habe das gleiche Problem beim Bestellabschluss. Kann leider nicht sagen ob es an einer bestimmten Bezahlart liegt oder nicht, da der Fehler nur sporadisch auftritt.

Der gesendete Fehlercode dabei ist:

exception ‚Shopware\Components\CSRFTokenValidationException‘ with message ‚The provided X-CSRF-Token is invalid. Please go back, reload the page and try again.‘ in /html/shopware/engine/Shopware/Components/CSRFTokenValidator.php:161

 

Der CSRF-Schutz verursacht leider immer wieder Probleme. Wir haben hier Migrationen auf 5.2 gehabt, die liefen 1 Monat in der Entwicklung ohne Probleme und dann produzierte das Live-Shopping-Modul Fehler in der Token Validierung beim Wechsel in den Checkout. Bei anderen Systemen mit Custom Product. Und das Ganze unabhängig vom Theme. Mal hatten wir den Eindruck, dass es bei gleichzeitigem Backend-Login im selben Browser passiert, dann lies sich dies wieder nicht reproduzieren. 

Wir sind dazu übergegangen die CSFR-Token Validierung in der config.php zu deaktivieren.

@hth schrieb:

@echse schrieb:

Hallo,

ich habe das gleiche Problem beim Bestellabschluss. Kann leider nicht sagen ob es an einer bestimmten Bezahlart liegt oder nicht, da der Fehler nur sporadisch auftritt.

Der gesendete Fehlercode dabei ist:

exception ‚Shopware\Components\CSRFTokenValidationException‘ with message ‚The provided X-CSRF-Token is invalid. Please go back, reload the page and try again.‘ in /html/shopware/engine/Shopware/Components/CSRFTokenValidator.php:161

 

Der CSRF-Schutz verursacht leider immer wieder Probleme. Wir haben hier Migrationen auf 5.2 gehabt, die liefen 1 Monat in der Entwicklung ohne Probleme und dann produzierte das Live-Shopping-Modul Fehler in der Token Validierung beim Wechsel in den Checkout. Bei anderen Systemen mit Custom Product. Und das Ganze unabhängig vom Theme. Mal hatten wir den Eindruck, dass es bei gleichzeitigem Backend-Login im selben Browser passiert, dann lies sich dies wieder nicht reproduzieren. 

Wir sind dazu übergegangen die CSFR-Token Validierung in der config.php zu deaktivieren.

Darf ich mal fragen wie man dies in der config.php deaktivieren kann?

In die config.php mus folgendes eingetragen werden:

 'front' =\> [array](http://www.php.net/array)( 'showException' =\> true, 'noErrorHandler' =\> false, ),   //Low-Level PHP-Fehler ab Shopware 5.2.0 'phpsettings' =\> ['display\_errors' =\> 1,]

 

Genaueres steht hier: http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html

@NellyCastro schrieb:

In die config.php mus folgendes eingetragen werden:

‚front‘ => array( ‚showException‘ => true, ‚noErrorHandler‘ => false, ),   //Low-Level PHP-Fehler ab Shopware 5.2.0 ‚phpsettings‘ => [‚display_errors‘ => 1,]

 

Genaueres steht hier: http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html

 

Ich meinte die Deaktivierung der CSFR-Token Validierung. Ist das damit gemeint?

@colonia schrieb:

@NellyCastro schrieb:

In die config.php mus folgendes eingetragen werden:

‚front‘ => array( ‚showException‘ => true, ‚noErrorHandler‘ => false, ),   //Low-Level PHP-Fehler ab Shopware 5.2.0 ‚phpsettings‘ => [‚display_errors‘ => 1,]

 

Genaueres steht hier: http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html

 

Ich meinte die Deaktivierung der CSFR-Token Validierung. Ist das damit gemeint?

Hi,

den Token deaktivierst du mit folgendem Code:
 

'csrfProtection' => [
      'frontend' => false,
      'backend' => false
]

 

1 „Gefällt mir“

Bei mir ist der PayPalPlus Plugin der diesen Fehler verursacht.
Sehr „unregelmäßig“ in zwei Shops gehts ohne Probleme in zwei anderen macht es Probleme in einem nur im englischen Sprachshop???
Habe alle o.g. Shops mit dem Original-Theme getestet – sprich ohne Veränderung….

Echt komisch…

Hier gibts noch weitere Infos: https://synonymous.rocks/shopware-5-2-csrf-token-is-invalid/

Bei uns tritt der Fehler auch überwiegend mit dem PayPal Plus Plugin auf. Aber auch wenn dieses aktiviert ist, erhalten Kunden im ganz normalen Shop-Betrieb immer wieder Fehlermeldungen die aber nicht ins Log geschrieben werden.

Es ist extremst ärgerlich, das so viele Nutzer diesen Fehler haben, aber nichts passiert. Auch wenn es von vielen anderen Plugins kommen kann, muss es doch eine Lösung von Shopware dafür geben, da das Problem doch mit dem Core zusammenhängt. Die ganzen Plugins haben doch vor den neuesten Shopware-Versionen auch funktioniert.

Bei uns enthält eine CSRFToken Fehlermeldung im Log auch immer folgenden Inhalt: „Enlight_Controller_Action->dispatch(‚getLiveShopping…‘)“