];
}
else {
+ http_response_code(403);
print "<p class=warn>Code onjuist, geen toestemming om wachtwoord in te stellen.</p>\n";
return TRUE;
}
}
if ($_POST) {
- $error = passform($_POST);
+ require_once('login/pass.inc.php');
+ $error = passform($User, $_POST);
if (empty($error)) {
- print "<p>Het wachtwoord is aangepast. Voortaan met het nieuwe wachtwoord inloggen.</p>\n\n";
+ print "<p>Het wachtwoord is aangepast voor <em>{$User['name']}</em>. Voortaan met het nieuwe wachtwoord inloggen.</p>\n\n";
return;
}
+ http_response_code(400);
print "<p class=warn>$error</p>\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;
-}
-
?>
<form method="post">
<p>
+Hier kun je een nieuwe inlogcode instellen voor <em><?= htmlspecialchars($User['name']) ?></em>.
+Dit zal de huidige code vervangen.
+</p>
+<p>
<?php if (!empty($User['pass'])) { ?>
<input type="password" name="oldpass" value="" placeholder="Huidig wachtwoord" />
<?php } ?>
<input type="password" name="newpass" value="" placeholder="Nieuw wachtwoord" />
+<input type="password" name="passconf" value="" placeholder="Nogmaals" />
<input type="submit" value="Wijzig" />
</p>
</form>