[Gelöst] Abgabe von Bewertungen nicht mehr möglich (Variable falsch?)

Hallo,

dass seit Wochen keine Bewertungen mehr eingehen, habe ich auf die Unlust der Kunden geschoben, nachdem ich 1-2 Testbewertungen abgegeben hatte und die auch ordnungsgemäß angenommen wurden.

Soeben bekam ich allerdings eine Fehlermail, als ein Kunde bewerten wollte. Ich habe wieder „irgendeinen“ Artikel bewertet: klappt. Dann hab ich s bei dem Artikel des Kunden versucht und es kommt die Seite Ups. es ist ein Fehler aufgetreten…

Das steht in der Meldung:

exception 'Shopware\Components\CSRFTokenValidationException' with message 'The provided X-CSRF-Token is invalid. Please go back, reload the page and try again.' in /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Shopware/Components/CSRFTokenValidator.php:161
Stack trace:
#0 [internal function]: Shopware\Components\CSRFTokenValidator->checkFrontendTokenValidation(Object(Enlight_Controller_ActionEventArgs))
#1 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#2 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#3 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Library/Enlight/Controller/Action.php(143): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#4 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('ratingAction')
#5 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#6 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Shopware/Kernel.php(176): Enlight_Controller_Front->dispatch()
#7 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#9 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#10 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#11 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#12 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#13 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 /var/www/vhosts/name.aix-cloud.de/shopverzeichnis/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#15 {main}
2016-09-15T16:30:34.460507+0200
core
{
    "uri": "/artikel-g19-1?action=rating&c=65",
    "method": "POST",
    "query": {
        "action": "rating",
        "c": "65",
        "module": "frontend",
        "controller": "detail",
        "sArticle": "394",
        "rewriteUrl": "1",
        "sCategory": "65"
    },
    "post": {
        "sVoteName": "ddfsdfs",
        "sVoteSummary": "dsfsfsdfdsf",
        "sVoteStars": "10",
        "sVoteComment": "sdfsdfsdfsdfsdf",
        "sRand": "EzDmII0xierGenOQnbYQSlaD4BUqw6QB",
        "sCaptcha": "ac9a5",
        "Submit": "",
        "__csrf_token": "68jLHsORHyTobYoQPXtB3Chu9TBzQD"
    }
}
{
    "sessionId": "0e33b76bea938191504cf9fdb340738687d2138c507541491f2899f48234426f",
    "sArea": null,
    "sCountry": null,
    "sState": null,
    "X-CSRF-Token": "dpfqrT4WEqMJrHDmAvZPL4VyFF9BRm",
    "Bot": false,
    "sOutputNet": false,
    "sLastArticle": "394",
    "sUserId": null
}
1
domain 

Kann mir jemand sagen, woran das liegt? Dass bei einem Fehler gar keine Artikel bewertet werden können, könnte ich nachvollziehen. Aber nur einzelne? Die lassen sich auch quasi manuell nicht finden…

In der error_log gibt es keine Einträge um die relevante Zeit.

LG

Folgendes hat sich zwischenzeitlich ergeben:

Gestern Abend meldete ein weiterer Kunde, dass er nicht bewerten könne (Fehlermail dazu hatte ich bereits erhalten). Habe diesen Artikel dann auch geprüft. Ich konnte ebenfalls nicht bewerten.

Bei über 3000 Artikeln kann ich nur Stichproben machen und habe wohl selbst bisher immer nur funktionierende Artikel erwischt.

Da alle Bewertungsangaben in den Fehlermails ersichtlich waren, habe ich probeweise eine Bewertung über die Datenbank erfasst. Sie erschien im Shop und ich konnte plötzlich von Shop aus wieder weitere Bewertungen zu diesem Artikel abgeben. Nicht nur das, sondern beim 2. fehlerhaften Artikel funktioniert es nun auch.

Spielt hier der Aufruf der Datenbank vielleicht eine Rolle?

 

LG

Gerade heute stelle ich fest, dass das Problem immer noch besteht. Es ist wieder eine Fehlermail eingegangen und ich habe den Eintrag manuell in die Datenbank übernommen. Seit 11 Tagen - also meinem letzten Post hier - sind im BE keine neuen Bewertungen freizuschalten. Ich kann mir jetzt aussuchen, ob es an der Technik liegt oder an den Kunden.

Ich bräuchte hier dringend Hilfe.

 

LG

Ich habe dieses Verhalten auch gerade in einem Kundensystem festgestellt.

Welche Shopware Version hast du im Einsatz? Bei mir ist es die  Shopware 5.2.6 

Naja der erste kurzfristige Schritt wird es ja immer sein, den Schutz erstmal zu deaktivieren: CSRF Protection

Dann kann man sich in einem Testsystem auch ans debugging machen. 

@onlinepuls‍ Ich nutze 5.2.6 (Habe mich auch gefragt, ob ein Fehler möglicherweise durch das Update auf 5.2.7 überschrieben werden könnte, da der Fehler sicher nicht von Dateien im eigenen Template herrührt. Diese wurden seite Monaten nicht geändert und zu Anfang liefen Bewertungen, Newsletteranmeldungen und Passwortänderungen problemlos.)

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍ Ich habe davon leider überhaupt keine Ahnung. Dank Google-Übersetzer weiß ich nun zumindest ungefähr, was oder wofür dieser Token ist. Ich verstehe es so, dass immer dann, wenn das System einen schädlichen Angriff vermutet, die Fehlermeldung bring (also mir die Email und dem Besucher die Seite Ups…).

Wenn dem so ist und ich die Vorgänge der letzten Woche nun einmal zusammenfasse, könnte ich den Auslöser des Problemes evtl. ausmachen:

Seit 13.8.16 hatte ich plötzlich täglich 20-40 dieser Emails wegen CRFToken, zunächst wurde versucht auf wpcontent zuzugreifen und dann wurde versucht, Bewertungen abzugeben und das Newsletterformular aufgerufen. Die IPs waren aus Bangkok und die Einträge in den Bewertungen eindeutig :slight_smile:

Ende August ließ es etwas nach und jetzt kommen die Meldungen nur noch selten.

Dafür jedoch seit September die Emails mit CRFToken wenn Kunden Bewerten möchten, die Emailadresse ändern wollen und das Newsletterformular aufrufen/verwenden. Probleme beim Ändern des Passwortes im FE gibt es ebenfalls (nicht möglich), da dies seltener versucht wird, kann ich dazu nicht viel sagen.

 

Kann es hier zwischen dem Spamangriff und der späteren Probleme einen Zusammenhang geben? Wird das System da irgendwie übersensibel? Die Kunden rufen den Artikel für die Bewertung über einen Link in der Versandmittelung auf. Wobei es bei mir hier, direkt vom PC auch nicht funktioniert.

 

Zum Deaktivieren des Token:

Wenn er deaktiviert ist, ist auch der komplette Schutz im FE erst einmal deaktiviert? D.h. Spammer könnten Einträge machen? Wäre bei Bewertungen nicht so das Problem, weil ich die eh erst freigeben muss.

Das Deaktivieren hat aber zunächst noch nichts mit der Fehlersuche zu tun, sondern dient nur dazu, dass ersteinmal die Kunden nicht verärgert werden?

 

Ich habe zwar einen Testshop, aber da dieser die Probleme scheinbar nicht hat, kann ich da auch schlecht nach dem Fehler suchen.

LG

@Moritz Naczenski‍ Der “Auslöser” wurde wahrscheinlich gefunden. Allerdings ist noch offen, wie ich das Problem beheben kann.

Die Kunden erhalten mit der Versandmail einen Bewertungslink. Dieser wird wie folgt eingefügt:

{$sShopURL}/detail/index/sArticle/{$details.articleID}

In der Email wird http://domain.de… ausgegeben statt https:// da der Shop zwischenzeitlich auf ssl umgestellt wurde. Wie bekommt man nun das https: in die URL?

LG

Quick & Dirty: {$sShopURL|replace:„http“:„https“}/detail/index/sArticle/{$details.articleID}