Shopware / Symfony Postdata Längenbegrenzung

Hallo,

ich entwickle ein Plugin, welches per „AJAX Post“ große Datenmengen (JS Objekte) an einen Endpunkt übergibt.
Dies ist für eine WYSIWYG Anwendung zum generieren von Bild und PDF Vorschau auch leider so erforderlich.

Leider kommen durch die Shopware Endpunkte aber nur Teile dieser Daten an.
Wenn ich mir das ganze als JSON abspeichere fehlen beträchtliche Teile.
Egal ob ich via getParam() oder auch direkt per \_POST auf die Daten zugreife. Erstelle ich mir eine separate "post.php" und greife dort per _POST zu ist alles da.
(Die post.php-Datei liegt im Shopware Stammverzeichnis, im selben VirtualHost)

Getestet auf unserem Mittwald-Server und auf meinem MAMP.
Beides Shopware 5.5.2 und PHP 7.2.(4/8)

post_max_size ist bei 32MB die POST-Daten sind als json_encode in einer Textdatei ca. 100kb.

Der wichtigste Hinweis ist denke ich, dass die übergeben JSON-Objekte als valide PHP-Objekte/Arrays ankommen!
Es fehlen also nicht einfach Daten und das ganze lässt sich nicht wieder json_decoden, sondern es fehlen Daten aber das Objekt bleibt konsitent!

Wo beschneidet Shopware / Symfony dort die POST-Daten ?!

Vielen Dank!

Also irgendwie bereinigt Shopware (Symfony) die “Post-Daten”.
Mit $this->Request()->getRawBody() erhalte ich den vollständigen Datensatz! 

Selbst wenn ich alle meine Objekte auch noch als String mit JSON.Stringify() übergebe ist alles im “RAW Body”.
Gebe ich das alles mit file_put_contents(‘text_RAW.txt’, $this->Request()->getRawBody()); aus, ist die mehrere MB groß, aber alles ist da!!

Wo und warum werden die Postdaten beschnitten?

Die großen Strings sind einfach null, wenn ich mit $this->Request()->getParam() auf die Strings zugreife sind sie “null”.
Die Objekte sind valide PHP Objekte, aber eben jeweils nur ein Bruchteil.

Das bedeutet ja, dass hier sogar so entfernt wird, dass die geposteten Objekte “heile” bleiben.

Was kann das denn bitte sein?! 

Schalte mal testweise den InputFilter aus

1 Like

Das gibts doch gar nicht! Zack geht  Thumb-Up

Wenn er die Objekte ganz gefiltert hätte, würde ich ja noch von Sicherheitsaspekten ausgehen.
Aber einfach was abschneiden bis auf eine Länge. Und die stringifyten Objekte sind doch nur Text…

Verstehen tue ich es nicht, aber DANKE !!!