X-CSRF-Token / JTL Connector

Hallo,

Eventuell kann mir jemand aus dem Forum helfen.

Fehlermeldung 

 The provided X-CSRF-Token for path "/jtlconnector//dbeS/mytest.php" is invalid. Please go back, reload the page and try again.

Shopdaten:

Shopware 5.4.4. mit JTL Connector 2.1.12,

Läuft auf SSL, Eintrag in config.php ($_SERVER[‘HTTP_X_FORWARDED_PROTO’] = ‘https’:wink: ist vorhanden.

Der Shop wurd innerhalb von letzten zwei Wochen aufgesezt mit Produkten über den Jtl Connector befüllt auf SSL umgestellt, ins Produktivenmodus geschaltet, 

aus dem Unternorder /test ins Domainverzeichniss kopiert auch in Grundeinstellungen - Shops wurde /test entfernt.

Wie kommt es zu der Fehlermeldung: jetzt wolten wir einige Artikel / Kategorien hinzufügen und es wurden auch Testbestellungen gemacht, bei dem (manuellem) Abgleich

JTL Wawi über JTL Connector kommt es zu Fehlermeldung und die JTL Wawi Daten werden nicht mit dem Shop abgegliechen. Bei automatischem Abgleich gibt es zwar keine Fehlermeldung 

abe die Daten werden auch nicht übertragen.

Wie schon im Forum beschrieben habe ich versucht CSRF zu deaktivieren und folgendes in config.php eingetragen:

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

Es wird jetzt zwar keine Fehlermeldung angezeigt, aber es werden auch keine Daten von JTL Wawi zum Shop übertragen. 

In beiden Fällen zeigt JTL Wawi die Daten die zum Shop übertragen werden müssen und auch die Daten die von dem Shop kommen sollen.

Also die Verbundung besteht es wirden nur kein Daten ausgetauscht.

Als zweites wurde Jtl-Connector erneut installiert.

Hier ist die komplette Fehlermeldung:

The provided X-CSRF-Token for path "/jtlconnector//dbeS/mytest.php" is invalid. Please go back, reload the page and try again.
2018-08-09T15:32:05.820716+0200
core
{
    "uri": "/jtlconnector//dbeS/mytest.php",
    "method": "POST",
    "query": {
        "module": "frontend",
        "controller": "jtlconnector",
        "action": "dbeS",
        "mytest.php": ""
    },
    "post": {
        "uID": "",
        "uPWD": "99D0C0D3-E48C-467C-B136-1XXXXXXX",
        "kKunde": "363",
        "kBestellung": "2",
        "kLieferadresse": "0",
        "kZahlungseingang": "142",
        "wawiversion": "131810"
    }
}
No session data available
Shopware\Components\CSRFTokenValidationException: The provided X-CSRF-Token for path "/jtlconnector//dbeS/mytest.php" is invalid. Please go back, reload the page and try again. in /var/www/html/myshop.de/engine/Shopware/Components/CSRFTokenValidator.php:149
Stack trace:
#0 /var/www/html/myshop.de/engine/Library/Enlight/Event/Handler/Default.php(91): Shopware\Components\CSRFTokenValidator->checkFrontendTokenValidation(Object(Enlight_Controller_ActionEventArgs))
#1 /var/www/html/myshop.de/engine/Library/Enlight/Event/EventManager.php(220): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#2 /var/www/html/myshop.de/engine/Library/Enlight/Controller/Action.php(176): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#3 /var/www/html/myshop.de/engine/Library/Enlight/Controller/Dispatcher/Default.php(549): Enlight_Controller_Action->dispatch('dbeSAction')
#4 /var/www/html/myshop.de/engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#5 /var/www/html/myshop.de/engine/Shopware/Kernel.php(215): Enlight_Controller_Front->dispatch()
#6 /var/www/html/myshop.de/vendor/symfony/http-kernel/HttpCache/HttpCache.php(486): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#7 /var/www/html/myshop.de/engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#8 /var/www/html/myshop.de/vendor/symfony/http-kernel/HttpCache/HttpCache.php(253): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#9 /var/www/html/myshop.de/vendor/symfony/http-kernel/HttpCache/HttpCache.php(270): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#10 /var/www/html/myshop.de/engine/Shopware/Components/HttpCache/AppCache.php(143): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#11 /var/www/html/myshop.de/vendor/symfony/http-kernel/HttpCache/HttpCache.php(201): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#12 /var/www/html/myshop.de/engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#13 /var/www/html/myshop.de/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#14 {main}
2018-08-09T15:32:05.821823+0200
core
{
    "uri": "/jtlconnector//dbeS/mytest.php",
    "method": "POST",
    "query": {
        "module": "frontend",
        "controller": "jtlconnector",
        "action": "dbeS",
        "mytest.php": ""
    },
    "post": {
        "uID": "",
        "uPWD": "99D0C0D3-E48C-467C-B136-1XXXXXX",
        "kKunde": "363",
        "kBestellung": "2",
        "kLieferadresse": "0",
        "kZahlungseingang": "142",
        "wawiversion": "131810"
    }
}
No session data available
1

Für jede Rückmeldung bin ich dankbar.

Die Protection zu deaktivieren ist wohl die schlechteste Lösung. Im JTL-Forum findest du dazu was: Neu - Problem The provided X-CSRF-Token for path "/jtlconnector//dbeS/mytest.php" is invalid. | Supportforum für JTL-Wawi, JTL-Shop, JTL-POS, JTL-WMS, JTL-eazyAuction und JTL-Connectoren von JTL-Software

Das ist einfach nur ein Testcall von JTL - also entweder ignorieren oder über die .htaccess umleiten. Wenn der Abgleich nicht läuft, sollte das Problem ein anderes sein. Du solltest dich da mal an den JTL-Support wenden. Die Fehlermeldung ist ja erstmal korrekt - es werden keine POST-Requests an irgendwelche URLs zugelassen. Insofern  kannst du das in SW garnicht lösen.

@Moritz Naczenski schrieb:

Die Protection zu deaktivieren ist wohl die schlechteste Lösung. Im JTL-Forum findest du dazu was: https://forum.jtl-software.de/threads/problem-the-provided-x-csrf-token-for-path-jtlconnector-dbes-mytest-php-is-invalid.111162/

Das ist einfach nur ein Testcall von JTL - also entweder ignorieren oder über die .htaccess umleiten. Wenn der Abgleich nicht läuft, sollte das Problem ein anderes sein. Du solltest dich da mal an den JTL-Support wenden. Die Fehlermeldung ist ja erstmal korrekt - es werden keine POST-Requests an irgendwelche URLs zugelassen. Insofern  kannst du das in SW garnicht lösen.

Danke für die Rückmeldung nach dem ich schon den verlinkten Beitrag von JTL bezgl. Testcall gelesen habe, habe ich die CSRF nur ein Mal, zur Testzwecken, deaktiviert und dann wieder aktiviert. Ich werde bei JTL versuchen.