Eigene Felde. Feldtyp Wiederholbar (repeatable). Zu beachten seit Joomla 3.9.7

  • Betrifft die Komponente com_fields, also Backend-Menü "Felder" unterhalb "Inhalt" und "Benutzer".


    Wenn Ihr im Betreff genannte eigene Feldtypen verwendet und Subfeldtypen wie z.B. Editor, Textarea, wo Ihr es gewohnt wart, dass Ihr HTML eingeben konntet, müsst Ihr seit Joomla 3.9.7 aufpassen. Aufgrund eines Sicherheitsfixes wird HTML und mehr aus diesen Feldern entfernt.


    Ich habe mich bemüht, hier einen wenigstens temporären Fix zu posten

    https://github.com/joomla/joomla-cms/pull/25189/files

    Grünes rein in die beiden Dateien oder mit PatchTester installieren.


    Vorgehen wie folgt:

    - Erst den Patch/die Änderungen oben anwenden.

    - Dann ZUERST in die Felder vom Typ "Wiederholbar" gehen und die Filterkriterien für jedes Subfeld/jede Reihe setzen, das bisher HTML erlaubte und, wo das auch weiterhin so sein soll.

    - Dann erst wieder Artikel/Benutzer bearbeiten, wo die eigenen Felder verwendet werden.


    Ob diese oder ähnliche Arbeiten nach Joomla-Updates erneut nötig sind, muss sich herausstellen. Sind ja Core-Hacks.


    Folgende Filter-Einstellungen sind zu überlegen:

    - Ungefiltert: Erlaubt ist ALLES, auch Schadcode ;-)

    - Sicheres HTML: HTML ohne <script>-Tags und ähnlich. Weiß jetzt nicht genau, was alles.

    - Text: Ein bisschen irreführend benannt. Gemeint sind die Einstellungen für Joomlas "Textfilterung", also im Normalfall all das, was ein User auch in einem normalen Editor tuen darf, je nach Benutzergruppe, der er angehört.


    Meckern hilft nicht, weil ja eine Sicherheitslücke geschlossen wurde, die zumindest nach meiner Meinung eine gravierende in einem Multiuser-System war. Mit mir streiten, hilft also auch nicht ;-)

  • Falsch verstanden:

    Durch einen Fix einer Sicherheitslücke entstand dieses Folgeproblem.


    Die derzeit zur Diskussion stehende Abhilfe für das Folgeproblem bei "Eigenen Feldern" (com_fileds) habe ich verlinkt, was bei mir das Problem erst mal löste.


    Wenn du betroffen bist:

    - Installiere dir den "Joomla! Patch Tester".

    - Klicke oben links "Daten abrufen".

    - Dann klickst in Zeile 25189 auf "Patch installieren".

    - Dann bearbeitest alle "Wiederholbar"-Felder nach, indem du die Filter für den Editor wunschgemäß einstellst (s.o.)

    - Und erst dann öffnest und speicherst Beiträge, die so ein Repeatable-Feld verwenden.


    Ob mein Lösungsansatz so durch geht für kommende Joomlas, habe nicht ich zu entscheiden. Zum Testen ist jeder aufgefordert und es müssen mindestens 2 erfolgreiche Tests vorliegen.


    Uuuund man muss dazu sagen, dass der Editor, egal, wo man ihn als Formular-Feld verwendet, EIGENTLICH immer durch ein filter-Attribut abgehärtet gehört, was eben vor dem Sicherheitsfix in Teilen Joomlas nicht der Fall war. Bzw. genauer: Selbst, wenn man einen filter gesetzt hätte, wäre dieser gar nicht verwendet worden.

  • Es wäre nett, wenn du den Patch offiziell testen könntest wie oben beschrieben, weil ich spätestens nach 2 Monaten meine Patches wieder schließe, wenn ich weiß, dass eigentlich ausreichend User da sind (derzeit mindestens 3), die ein Feature nutzen, aber dann nicht testen. Hängt damit zusammen, dass so PRs, auch, wenn man nichts am Code ändert, so genannte "Branch-Konflikte" bekommen können, die dann mehr oder weniger zeitaufwendig zu lösen sind. Und, weil mich selbst tangiert dieses Repeatable-Problem nicht wirklich ;-)


    Selbstverständlich ist auch ein "unsuccessful"-Test OK, wenns eben Probleme gibt. Aber wissen muss ich's halt...

  • - Der PR hat eben das Label "Milestone 3.9.9" erhalten. Sollte also im nächsten Joomla-Update drinnen sein.

    - Wer nicht warten kann, findet oben die Patch-Tester-Anleitung (Post #3) wie man ihn vorab "reinschieben kann."


    Aber bitte beachten, dass solche Patch-Tester-Aktionen immer eine Ausnahme auf Produktivseiten sein sollten. Vor nächstem Joomla-Update, Patch(es) per Button wieder zurücknehmen und Patch Tester deinstallieren.