Passwort vergessen Funktion

PHP Newsletter Software/Script und E-Mail-Marketing Software SuperWebMailer

Moderator: mirko

Antworten
Benutzeravatar
mirko
Beiträge: 22884
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Passwort vergessen Funktion

Beitrag von mirko »

Nur das Script ändern und Sonderzeichen hinzufügen.

Ich habe das jetzt angepasst, das Update nochmals laden https://www.superwebmailer.de/newslette ... wnload.htm und nur die Datei pw_reminder.php auf den Webspace übertragen, bestehende Datei ersetzen lassen. Es werden dann 2 Sonderzeichen (",", ";", ":", "-", "#", ")" oder "(") in das Passwort eingefügt.
steschw
Beiträge: 42
Registriert: 08.10.2009, 12:50

Re: Passwort vergessen Funktion

Beitrag von steschw »

Das ist es. Wir haben eine Standard Ubuntu Server Installation benutzt. Diese enthält mysql-5.7.29 mit aktiviertem Password Validation Plugin. Das Plugin hat wohl die Sonderzeichen in den Standardeinstellungen enthalten.

Ich probiere die Erweiterung der Funktion mal aus. Sonst müssen wir mit

SET validate_password_special_char_count = 0

die Sonderzeichenprüfung ausschalten.

Vielen Dank
Benutzeravatar
mirko
Beiträge: 22884
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Passwort vergessen Funktion

Beitrag von mirko »

dann ist ein Plugin zur Passwortsicherheit aktiviert, das nicht aktiviert sein sollte

Geht nur von Hand die Datei pw_reminder.php ändern, in der aktuellen Version 7.30, Zeile 161 steht:

Code: Alles auswählen

$_Jo800 = $_QJljf["id"] . _LCALR(16);
ändern in

Code: Alles auswählen

$_Jo800 = $_QJljf["id"] . _LCALR(16) . 'Sonderzeichen oder mehrere angeben';
per phpMyAdmin kann auch in die Datenbank gehen, mit der Anweisung

SHOW VARIABLES LIKE 'validate_password%'

kann man die Passwortregeln sehen, bei validate_password_special_char_count steht die Anzahl Sonderzeichen
steschw
Beiträge: 42
Registriert: 08.10.2009, 12:50

Re: Passwort vergessen Funktion

Beitrag von steschw »

Eben. Aber die password() Funktion verlangt eins. Daher funktioniert das Setzen des Passworts von SWM aus nicht.
Benutzeravatar
mirko
Beiträge: 22884
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Passwort vergessen Funktion

Beitrag von mirko »

Was für ein Sonderzeichen? In den automatisch zugesendeten Passworten gibt es extra keine Sonderzeichen.
steschw
Beiträge: 42
Registriert: 08.10.2009, 12:50

Re: Passwort vergessen Funktion

Beitrag von steschw »

Man muss sich neu das Passwort zusenden lassen, wenn das alte nicht mehr funktioniert, danach kann man es natürlich wieder über die Oberfläche zurück ändern.
Genau das funktioniert eben nicht, da das Passwort das swm generiert nicht von mysql angenommen wird. Es fehlt das Sonderzeichen.
Benutzeravatar
mirko
Beiträge: 22884
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Passwort vergessen Funktion

Beitrag von mirko »

Man muss sich neu das Passwort zusenden lassen, wenn das alte nicht mehr funktioniert, danach kann man es natürlich wieder über die Oberfläche zurück ändern.

Wird MySQL Server älter als 8.0.11 bzw. MariaDB Server älter als 10.0 verwendet, dann kann man in der users-Tabelle mit der Funktion PASSWORD() ein neues Passwort selbst setzen. Mit neueren Versionen geht das nicht mehr mit der Funktion PASSWORD(), weil es diese Funktion ab MySQL-Server 8.0.11 nicht mehr gibt. SuperWebMailer verwendet die MySQL-Funktion SHA2(<password>, 224) ab Server-Version >= 8.0.11. Mit der SHA2() Funktion kann man ebenfalls per phpMyAdmin selbst das Passwort setzen: UPDATE users SET Password=SHA2('ein passwort', 224) WHERE id=<id des Nutzers>

Prinzipiell sollten keine Passworte von Hand in der Datenbank gesetzt werden, auch wenn das SuperWebMailer unterstützt, weil das halt einige so machen. SuperWebMailer verwendet normalerweise zusätzlich einen Salt, um das Passwort sicherer zu speichern. Siehe dazu https://de.wikipedia.org/wiki/Salt_(Kryptologie)
steschw
Beiträge: 42
Registriert: 08.10.2009, 12:50

Passwort vergessen Funktion

Beitrag von steschw »

Hallo Herr Böer,

wir haben den SWM auf einen neuen Server umgezogen und dabei festgestellt, dass die alten Passwörter nicht mehr funktionieren. Anscheinend sind die Passwortanforderungen im neuen mysql höher.

Dann haben wir versucht uns neue zuschicken zu lassen. Aber das von swm generierte Passwort funktioniert nicht. Anscheinend schreibt die entsprechende Routine etwas anderes in die Datenbank als sie dem User per Mail zuschickt.

In der E-Mail steht:
17i6yYqYiYA2AQyeU6

Offensichtlich genügt dies Passwort nicht den Anforderungen von mysql (ich habe es versucht per händisch in die Datenbanktabelle einzufügen und wurde mit entsprechender Fehlermeldung abgewiesen).

Es werden Zahlen, Klein- und Großbuchstaben und Sonderzeichen verlangt. Und an letzterem scheitert es wohl.


Mit freundlichen Grüßen

St. Schwietert
Systembetreuer
Ulmer Volkshochschule
Antworten