Benutzereingaben Filtern

Hi, mal ne simple Frage: wenn ich in einem eigenen Template ein Formular bastele und auf einen eigenen Controller verschicke, werden dann standardmäßig seitens Shopware die Eingaben auf sicherheitsrelevante Inhalte gefiltert, oder muss sich mein Controller drum kümmern ? Beste Grüße, Edin

Hi, da musst du dich definitiv selbst drum kümmern. Wir haben zwar einen InputFilter, der auch für Plugins greift - der ist aber „die letzte Verteidigungslinie“; grundsätzlich musst du dich darum kümmern, dass deine Logik konzeptionell gegen SQL-Injections, XSS, CSRF und andere Attacken geschützt ist. Alles andere wäre wirklich fahrlässig. Mit besten Grüßen, Daniel

Hi Daniel, danke für die schnelle Antwort, ist finde ich eine recht wichtige Info! Könntest du mir sagen, wo im Code ich den vorhanden InputFilter finde ? Beste Grüße, Edin

Hi, den InputFilter findest du hier: https://github.com/shopware/shopware/bl … tstrap.php Das ist aber nicht das, was du brauchst, um deine Plugins abzusichern. Dafür gibt es bspw. Prepared Statements (gg. SQL-Injections), Escaping von Nutzerinput (gegen XSS), CSRF-Tokens (gegen CSRF-Attacken) etc. Ich hoffe, das hilft weiter, Daniel

1 „Gefällt mir“

Hi, ja das auf jeden Fall! Der Grund meiner zweiten Frage war aus reinem Interesse, um zu sehen wie Shopware selbst diese Sicherheitsaspekte angeht. Wie also z.B. im Core gegen SQL-Injections, XSS, CSRF usw. vorgegangen wird. Eventuell habt ihr gewisse Standardroutinen für eure Formulare etc. ausgearbeitet, wo man sich das grundlegende Vorgehen abschauen kann, um auch gewissen einheitlichen Standards, Libraries etc. wiederzuverwenden. Beste Grüße, Edin

Ich muss das hier noch mal ausgraben, weil der Punkt (speziell CSRF) würde mich auch interessieren. Gibt es Funktionen im Core, auf die man zugreifen kann, um einen CSRF-Schutz zu implementieren? Denn die Core-Formulare wie z.B. die Registrierung sind ja sicherlich im Core nicht nur durch den Input-Filter sondern eben auch durch ein CSRF-Token abgesichert, oder?