Joomla 5 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 29. Januar 2024 alle unsere Joomla Erweiterungen mit Joomla 5 kompatible sind.

Für alle die gerade noch von Joomla 3 auf 4 aktualisieren: Anleitungen für die Joomla 4 Migration gibt es hier:

Es gibt nun auch eine eigenständige Dokumentation für Visforms für Joomla 4 und für Visforms auf Joomla 5

Forum

Visforms Subscription Inhaber können in unserem Forum Fragen stellen. Bitte mit dem entsprechenden Benutzer anmelden.
Jeder kann lesend auf das Forum zugreifen.

Bitte stellen Sie nur 1 Frage pro Thema.

Wichtig Angaben für fast jede Frage:
V1: Welche Visforms-Version läuft?
V2: Welche Joomla-Version läuft?
V3: Welche PHP-Version läuft?

VisForms Listbox und Javascript

Mehr
3 Wochen 4 Tage her - 3 Wochen 4 Tage her #11087 von R.Ossig
VisForms Listbox und Javascript wurde erstellt von R.Ossig
Visforms Version 5.2.0, Subscription Version 5.2.0
Joomla Version 5.2.3
PHP Version 8.2.12

Hallo zusammen,
ich arbeite an einem Formular, in dem ein Listboxen-Feld über ein JavaScript mit Optionen gefüllt werden. Dieses Listbox-Feld selbst beinhaltet keinerlei Werte.

JS-Auszug:
$('.JahresListe').append(new Option(Jahr, Jahr));

Diese Werte aus der Listbox werden beim absenden des Formulars aber als "ungültiger Wert" erkannt und die Verarbeitung des Formulars wird abgebrochen. Lässt sich diese Überprüfung in irgendeiner Form für das Feld umgehen?

Schöne Grüße.
 
Letzte Änderung: 3 Wochen 4 Tage her von R.Ossig.

Mehr
3 Wochen 4 Tage her #11089 von Administrator IV
Administrator IV antwortete auf VisForms Listbox und Javascript
Hallo R.Ossig,

vielen Dank für die Versions-Informationen und die interessante Frage.

Visforms legt wirklich einen großen Wert auf Sicherheit, was sich an zahlreichen Stellen deutlich zeigt.
Die Validierungen von Benutzereingaben ist ein Teil davon.

Diese Validierung erfolgt aus Sicherheitsgründen zwei Mal und kann per Design nicht umgangen werden.

1. Auf  dem Client:
docs.joomla-5.visforms.vi-solutions.de/d...nput/#auf-dem-client
2. Auf dem Server:
docs.joomla-5.visforms.vi-solutions.de/d...nput/#auf-dem-server

Damit ist sichergestellt, dass allein beabsichtigte Werte durch das Abschicken des Formulars übermittelt werden können.
'Beabsichtig' meint hier beabsichtigt in der Administration zum Zeitpunkt der Formular-Konfiguration und Feld-Konfiguration.

Auch bei den dynamischen SQL-Anwendung, etwa für eine SQL-Listbox, weiß das Backend um das Aussehen der aktuellen SQL-Statements und kann die übertragenen Werte überprüfen.
SQL-Anwendungen:
docs.joomla-5.visforms.vi-solutions.de/d...es/sql/introduction/

Auch hier wird zusätzlich zur Validität der übertragenen Werte intensiv sichergestellt, dass etwa eine SQL-Injektion verhindert wird.
Hohe Sicherheit:
docs.joomla-5.visforms.vi-solutions.de/d...ion/#hohe-sicherheit

Alternative 1: SQL-Listbox

Mit einer SQL-Listbox ist es möglich eine SQL-Statement-basierte dynamische Options-Liste zu erzeugen.
Zitat:
Ein Nachladen des Formulars erfolgt, wenn der Benutzer seine Eingabe in einem Trigger-Feld im Formular ändert.
Ein Trigger-Feld ist ein Feld, welches in der Feld-Konfiguration in der Option Bei Änderung von nachladen eingetragen wurde.

Mit einer SQL-Listbox kann die Zusammensetzung der Options-Liste SQL-Statement-basiert beliebig verändert werden.
Aber auch bei einer SQL-Listbox sind dem Backend alle aktuellen validen Options-Werte bekannt und werden überprüft.

Alternative 2: Eine sichere dynamische JavaScript-Lösung:

Sichere dynamische JavaScript-Lösungen erfordern immer eine Miteinbeziehung des Backend, etwa mit AJAX-Aufrufen unter Verwendung von Sicherheitstoken.
Das ist an vielen Stellen in Visforms der Fall und mindert die Sicherheit nicht.

Eine Miteinbeziehung des Backend, etwa mit AJAX-Aufrufen unter Verwendung von Sicherheitstoken ist grundsätzlich individuell möglich.
Eine Möglichkeit für Entwickler gibt es in Form der Erstellung eines 'Visforms Custom-Plugins'.
Die Erstellung eines Custom-Plugins erfordert etwas Erfahrung in der PHP-Entwicklung unter Joomla.
In der Dokumentation wird beschrieben, wie ein 'Visforms Custom-Plugin' erstellt werden kann.

Custom-Plugin Erstellung:
docs.joomla-5.visforms.vi-solutions.de/d...-plugin-development/
Custom-Plugin Event-System:
docs.joomla-5.visforms.vi-solutions.de/d...-plugin-development/
Es gibt ein fertiges komplettes Custom-Plugin mit allen Events und Hilfsfunktionen als Template, das die Installation von Visforms mitbringt:
docs.joomla-5.visforms.vi-solutions.de/d...-plugin-development/

Resümee:

Ein Listbox-Feld allein Client-seitig über ein JavaScript mit Optionen zu befüllen ist extrem unsicher und öffnet Tür und Tor für Hacker.

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Mehr
3 Wochen 4 Tage her #11090 von R.Ossig
R.Ossig antwortete auf VisForms Listbox und Javascript
Hallo Ingmar,
vielen Dank für die schnelle Antwort.
Gibt es denn Beispiele wie man AJAX in Visforms nutzen kann?
Und ist es denn sicher, über JavaScript einfache Textfelder mit einem Wert zu versehen?

Schöne Grüße.

Mehr
3 Wochen 4 Tage her #11093 von Administrator IV
Administrator IV antwortete auf VisForms Listbox und Javascript
Hallo R.Ossig,

Zu: Beispiele wie man AJAX in Visforms nutzen kann.

Es gibt Dokumentation und Beispiele für den Umgang mit JavaScript und CSS in den 'Visforms Frontend-Webassets'.
Es gibt Dokumentation und Beispiele für den Umgang mit JavaScript und PHP in einem 'Visforms Custom-Plugin'.
Also alles was spezifisch Visforms ist, also keine Einführungen in JavaScript und PHP.

Die generelle Technik 'AJAX' ist ganz allgemeines JavaScript und korrespondierendes PHP und hat nichts im Speziellen mit Visforms zu tun.
Für Dokumentation und Beispiele muss ich dich leider auf Tutorials im Internet verweisen.


Zu: Ist es sicher, über JavaScript einfache Textfelder mit einem Wert zu versehen.

Nun ja, im Sinne von Sicherheit sehe ich da keinen wesentlichen Unterschied.
Denn du brauchst kein JavaScript, du kannst es ja auch einfach per Hand eintragen.
Es soll ja beliebiger Text eingegeben werden können.

Die Sicherheit besteht in diesem Fall in der Einschränkung der möglichen Texte durch eine konfigurierte benutzerdefinierte Validierung der Eingaben.
Hier auch wieder dann insgesamt 2 Mal, im Frontend und im Backend (gleiches etwa bei den Rechenfeldern).
Validierungen von Benutzereingaben:
docs.joomla-5.visforms.vi-solutions.de/d...validate-user-input/

Bei allen Benutzer-Eingaben, also auch bei einem einfachen Text, stellt Visforms den Schutz sicher vor
- SQL-Injection,
- JavaScript-Injection,
 - CSS-Injection,
- HTML-Injection.

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum