[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Verschlüsselte Passworte mit xForm für Community-Userliste - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Max Smily
Beiträge: 29
Registriert: 13. Aug 2006, 14:51

Verschlüsselte Passworte mit xForm für Community-Userliste

1. Jul 2011, 19:43

Hallo Redaxo-Freunde,

ich baue gerade mit dem Community-Addon (v1.4) einen geschlossenen Bereich für angemeldete Benutzer auf. Mir macht dabei das Handling von verschlüsselten Passworten Kopfzerbrechen.

Im Registrierungsformular sieht das xForm so aus (Ausschnitt):

password|password|Passwort|
action|encrypt_value|password|md5
action|db|rex_com_user
Verhaltenswähler: - nichts tun -

Das funktioniert so (auch wenn es einen halben Tag gedauert hat, bis ich herausbekommen habe, dass es 'action|encrypt_value|password|md5' heißen muss und nicht wie in der Kurzdoku angegeben 'action|encrypt|password|md5').

Die Funktion zum "Passwort verändern" soll durch dieses Formular gegeben sein.

password|password|Passwort|
action|encrypt_value|password|md5
Verhaltenswähler: - nur in Datenbank speichern -
Whereklausel: auf User-Id gestellt

hier wird das Passwort leider immer im Klartext in die Datenbank gespeichert. Die md5-Umwandlung findet zwar statt, aber wird nicht (rechtzeitig?) berücksichtigt. ###password### gibt die md5-Version aus.

Nächstes Problem:
Möchte ich im Redaxo-Backend das Passwort für einen Benutzer im entsprechenden Community-Formular verändern, wird auch hier nur der Klartext in die DB gespeichert. Der Versuch das User-Feld "Passwort" mit dem extra1-Wert "md5" zu versehen, hat leider nicht gefruchtet. Wie wendet man die md5-Option korrekt an? Aus dem Beispiel 'PASSWORD * extra1=md5' werd ich einfach nicht schlau.

Nebenbei:
Ich hab ziemlich lange versucht mit 'action|copy_value|password|passwordcopy' eine Kopie der Passwort-Eingabe anzulegen und extra auszugeben, z.B. für die Bestätigungsmail an den Benutzer, in der das Passwort im Klartext zur Erinnerung stehen soll. Ich hab es nie geschafft eine Kopie anzulegen, um diese dann weiterverarbeiten zu können. Geht das überhaupt?

xForm ist schon ein mächtiges Tool, wie ich finde. Wäre schön, wenn es bald eine verständliche Doku dazu gäbe und die verschiedenen Bugs entfernt würden.

Viele Grüße
Max Smily

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

Re: Verschlüsselte Passworte mit xForm für Community-Userlis

3. Jul 2011, 13:21

In das xForm Modul muss z.b. folgendes irgendwo am Anfang ergänzt werden:

Code: Alles auswählen

 if (isset($REX['COM_USER']) && is_object($REX['COM_USER'])){
$form_data = str_replace('{user_id}', $REX["COM_USER"]->getValue("id"), $form_data);
}
Anschließend könnte dein Formular z.b. so aussehen:

Code: Alles auswählen

objparams|form_showformafterupdate|0

hidden|password_edited|1|
hidden|id|{user_id}|
password|password|Ihr persönliches Passwort *||
password|password_2|Ihr persönliches Passwort bestätigen *||no_db
objparams|submit_btn_show|0
submit||Speichern|no_db

validate|compare|password|password_2|Bitte geben Sie das gleiche Passwort ein.
validate|notEmpty|password|Bitte geben Sie ein Passwort ein.

action|encrypt_value|password|sha1
action|html|<p class="form_info">Ihr Passwort wurde geändert</p> 
action|db|rex_com_user|id=###id###
So funktionierts bei mir. Die weiteren Angban im xForm Modul müssen dann natürlich gelöscht werden.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Max Smily
Beiträge: 29
Registriert: 13. Aug 2006, 14:51

Re: Verschlüsselte Passworte mit xForm für Community-Userlis

4. Jul 2011, 16:07

Hallo Markus,

vielen Dank für deine Antwort. Ich konnte dein Passwort-ändern-Skript gut für meine Zwecke anpassen. Das Problem mit dem Kopieren von Formularvariablenwerte konnte ich lösen, indem ich die Klasse class.xform.action_copy_value.inc.php um eine Schleifen für $this->elements_email erweiterte. So kann ich das Passwort in der Benachrichtigungsmail im Klartext aufführen und es dann verschlüsselt in die Datenbank schreiben.

Viele Grüße
Max

Zurück zu „Allgemeines [R4]“