Frontend Fehler nach Update auf Shopware 5.2.25

und im Shopware Patch:

public function fixMailSecurity(Enlight_Event_EventArgs $args)
    {
        /** @var \Shopware_Controllers_Backend_Mail $subject */
        $subject = $args->getSubject();
        $request = $subject->Request();

        if (strtolower($request->getActionName()) !== 'verifysmarty') {
            return;
        }
        if (!$this->Config()->get('fix_mail_smarty_security')) {
            return;
        }
        if (version_compare(Shopware::VERSION, '5.2.25', '>=') ) {
            return;
        }
        $subject->View()->Engine()->enableSecurity();
    }

Hilft mir aber immer noch nicht so viel weiter

Ich erhalte seit dem Update auf 5.2.25 (von 5.2.22) oben stehende “Fehlermeldung” nach Abschluß einer Bestellung.

Ich als Betreiber und auch der Käufer ehalten keine Bestellbestätigung-Mails…

In den Logs konnte ich keine Fehlermeldungen finden!

 

EDIT:
Will man sich die Ordermail im Backend unter Einstellungen -> E-Mail-Vorlagen als Vorschau anzeigen lassen erhält man folgende Fehlermeldung eingeblendet:

Invalid
Syntax Error c4" on line 1 "{assign var="sAmountNumeric" value=$sAmount|replace:",":"."|floatval}" modifier 'floatval' not allowed by security setting

Hat wohl auch was mit dem “Modifier”-Gedöns zu tun…!?

Am besten verschickst du die Mail mal über das Backend, dann siehst du auch den Fehler.

Wird wahrscheinlich genau das sein, was auch oben beschrieben ist.

Hier das gleiche Problem:

Bestellbestätigung konnte nicht versendet werden. - exception 'Enlight_Exception' with message 'Syntax Error 33" on line 15 "Gesamtkosten Netto: {$sAmountNet}" modifier 'number_format' not allowed by security setting' in /html/shopware/engine/Shopware/Components/StringCompiler.php:178 Stack trace: #0 /html/shopware/engine/Shopware/Components/StringCompiler.php(148): Shopware_Components_StringCompiler->compileSmartyString('{include file="...', Array) #1 /html/shopware/engine/Shopware/Components/TemplateMail.php(233): Shopware_Components_StringCompiler->compileString('{include file="...') #2 /html/shopware/engine/Shopware/Components/TemplateMail.php(192): Shopware_Components_TemplateMail->loadValues(Object(Enlight_Components_Mail), Object(Shopware\Models\Mail\Mail), Array) #3 /html/shopware/engine/Shopware/Core/sOrder.php(910): Shopware_Components_TemplateMail->createMail('sORDER', Array) #4 /html/shopware/engine/Shopware/Plugins/Community/Backend/NegdisOrderMail/Controllers/Backend/NegdisOrderMailController.php(130): sOrder->sendMail() #5 /html/shopware/engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Backend_NegdisOrderMail->sendOrderMailAction() #6 /html/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('sendOrderMailAc...') #7 /html/shopware/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #8 /html/shopware/engine/Shopware/Kernel.php(182): Enlight_Controller_Front->dispatch() #9 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #10 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(266): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #11 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #12 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #13 /html/shopware/shopware.php(117): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #14 {main}

 

Ich habe das E-Mail Problem identifiziert und eine ad hoc Lösung. Diese wird ggf. aber das Sicherheitsloch wieder aufreissen. Um das hier nicht in aller Welt zu veröffentlichen: wer möchte, kann  mir eine PN schreiben und bekommt dann von mir eine Lösung beschrieben. Es muss allerdings der Shopware Core geändert werden. Vorsorglich schon mal: ich werde jetzt nicht alle 5 Minuten gucken, ob mir jemand geschrieben hat :wink:

ich gehe gerade zurück zur 5.2.24 und installiere das Sicherheits-Plugin, mal sehen ob dann alles wieder läuft

SEO Professional hat ein Update veröffentlich, seitdem fkt es wieder.

 

1 „Gefällt mir“

Hi,

wir werden voraussichtlich heute noch eine Patch Version nachliefern, die die Probleme beseitigen sollte. 

Diese Version ist natürlich nur nötig falls Probleme nach dem Update im Shop auftreten.

Wir geben auf jeden Fall Gas.

VG,

Marcel

@herzbrille schrieb:

ich gehe gerade zurück zur 5.2.24 und installiere das Sicherheits-Plugin, mal sehen ob dann alles wieder läuft

nein, das Sicherheits-Plugin verursacht das gleiche Problem 

[@Marcel S](http://forum.shopware.com/profile/117/Marcel S “Marcel S”)‍: Klingt gut.

Betrifft auch den Smarty-Modifier |explode in den Mail-Templates.

Wird anscheind gerade daran gearbeitet, denn auf GitHub gibt es keine 5.2.25er Version (kein Tag v5.2.25 vorhanden).

Anscheinend liegt das an der Smarty (Standard-) Klassenmethode ->enableSecurity, siehe hier: http://www.smarty.net/docs/en/api.enable.security.tpl. Auf welche Klasse, bzw. Objekt das geht, bin ich noch nicht durchgestiegen.

Da es die 5.2.25er nicht auf GitHub gibt, hatte ich mal eben die beiden Release ZIPs herunter geladen und verglichen. Die entsprechende Zeile findet Ihr hier:

Betrifft alle modifier ausser ‚escape‘ und count’

Das v5.2.25 nicht vorhanden ist, ist noch mal ein ganz anderes Thema. Da möchte ich gerne einmal eine Begründung von Shopware haben, warum veröffentlichte Versionen nicht auf Github zur Verfügung stehen. Es ist auch nicht das erste Mal, dass eine Version verspätet auf Github zur Verüfung steht. Ich empfinde das nicht gerade als sehr professionell. Es soll deployments geben, die darauf angewiesen sind ^^

Bei uns war es auch SEO Professional. Nach Update wieder alles in Ordnung.

Es ist SEO Professional… bei mir war es auch so… deaktiviert, lief wieder

Hi,

wir haben, gerade die 5.2.26 released. Eure Probleme sollten damit behoben sein. Auch die Plugin kompatibilität wurde verbessert.

#NeverReleaseOnFuckingHotSunnyDays

Foot-in-Mouth

VG,

 

Marcel

1 „Gefällt mir“

Wer testet? Freiwillige vor… Wink

Ich frage mich nun aber: bedeutet 5.2.26 weniger Sicherheit als 5.2.25? 

Hi,

ne auf keinen Fall.

Die Lücken die Aufgefallen sind sind weiterhin geschlossen.

Wir haben den Fix nur weniger generell gemacht, sodass andere Funktionalitäten nicht beeinträchtigt werden.

VG,

Marcel