Browse code

warn about weak password and redirect to chpass

Bernd Wurst authored on10/04/2019 08:39:02
Showing1 changed files
... ...
@@ -52,6 +52,18 @@ if (isset($_POST['webinterface_username']) && isset($_POST['webinterface_passwor
52 52
         login_screen('Ihre Anmeldung konnte nicht durchgeführt werden. Vermutlich haben Sie falsche Zugangsdaten eingegeben.');
53 53
     } else {
54 54
         setup_session($role, $_POST['webinterface_username']);
55
+        if (isset($_POST['webinterface_password'])) {
56
+            $result = strong_password($_POST['webinterface_password']);
57
+            if ($result !== true) {
58
+                logger(LOG_WARNING, "session/start", "login", "weak password detected for %s" % $_POST['webinterface_username']);
59
+                warning('Unsere Überprüfung hat ergeben, dass Ihr Passwort in bisher veröffentlichten Passwortlisten enthalten ist, es ist daher als unsicher zu betrachten. Bitte ändern Sie Ihr Passwort bei Gelegenheit.');
60
+                if ($role & (ROLE_VMAIL_ACCOUNT | ROLE_MAILACCOUNT)) {
61
+                    redirect($prefix.'go/email/chpass');
62
+                } else {
63
+                    redirect($prefix.'go/index/chpass');
64
+                }
65
+            }
66
+        }
55 67
     }
56 68
     unset($_POST['webinterface_username']);
57 69
     unset($_POST['webinterface_password']);