X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/fe92ec8f17c832c4a663aea399dc90a4c09ce6b1..v3.9-8-g882347cba8:/login/pass/index.php diff --git a/login/pass/index.php b/login/pass/index.php index 1494e37..735770a 100644 --- a/login/pass/index.php +++ b/login/pass/index.php @@ -4,13 +4,11 @@ if (isset($_GET['token'])) { $userdir = strtolower("profile/$username"); if ($verify = @file_get_contents("$userdir/.token") and $verify == $token) { - $User = [ - 'name' => $username, - 'dir' => $userdir, - 'pass' => NULL, - ]; + $User = new User($userdir); + $User->pass = NULL; } else { + http_response_code(403); print "

Code onjuist, geen toestemming om wachtwoord in te stellen.

\n"; return TRUE; } @@ -23,68 +21,28 @@ elseif (!$User) { } if ($_POST) { - $error = passform($_POST); + require_once('login/pass.inc.php'); + $error = passform($User, $_POST); if (empty($error)) { - print "

Het wachtwoord is aangepast. Voortaan met het nieuwe wachtwoord inloggen.

\n\n"; + print "

Het wachtwoord is aangepast voor {$User->login}. Voortaan met het nieuwe wachtwoord inloggen.

\n\n"; return; } + http_response_code(400); print "

$error

\n\n"; } -function passform($input = []) -{ - global $User; - - if (empty($User)) { - return "Log eerst (opnieuw?) in."; - } - - $pwfile = "{$User['dir']}/.passwd"; - if (!is_writable($pwfile)) { - return "Het wachtwoord kan niet worden aangepast voor deze gebruiker."; - } - - if (!empty($User['pass'])) { - if (empty($_POST['oldpass'])) { - return "Als extra beveiliging tegen ongewenste aanpassingen moet het bestaande wachtwoord worden ingevoerd."; - } - - if (!login_password_verify($_POST['oldpass'], $User['pass'])) { - return "Het bestaande wachtwoord is onjuist ingevoerd; niet aangepast."; - } - } - - if (empty($_POST['newpass'])) { - return "Geef een nieuw wachtwoord op."; - } - - if (strlen($_POST['newpass']) < 4) { - return "Zo'n kort wachtwoord is een slecht idee."; - } - - if ($_POST['newpass'] == $User['name']) { - return "De loginnaam is wel heel makkelijk raadbaar als wachtwoord."; - } - - if (!file_put_contents($pwfile, $_POST['newpass'])) { - return "Het nieuwe wachtwoord kon niet worden opgeslagen. Het oude wachtwoord is behouden."; - } - - @unlink("{$User['dir']}/.token"); # invalidate reset token - - $authhash = md5($_POST['newpass']); - $User['auth'] = "{$User['name']}:$authhash"; - login_setcookie(); - return; -} - ?>

- +Hier kun je een nieuwe inlogcode instellen voor login) ?>. +Dit zal de huidige code vervangen. +

+

+pass)) { ?> +