3 $error = passform($_POST);
5 print "<p>Het wachtwoord is aangepast. Voortaan met het nieuwe wachtwoord inloggen.</p>\n\n";
8 print "<p class=warn>$error</p>\n\n";
11 function passform($input = [])
16 return "Log eerst (opnieuw?) in.";
19 $pwfile = "{$User['dir']}/.passwd";
20 if (!is_writable($pwfile)) {
21 return "Het wachtwoord kan niet worden aangepast voor deze gebruiker.";
24 if (empty($_POST['oldpass'])) {
25 return "Als extra beveiliging tegen ongewenste aanpassingen moet het bestaande wachtwoord worden ingevoerd.";
28 if (empty($_POST['newpass'])) {
29 return "Geef ook een nieuw wachtwoord op.";
32 if (strlen($_POST['newpass']) < 4) {
33 return "Zo'n kort wachtwoord is een slecht idee.";
36 if ($_POST['newpass'] == $User['name']) {
37 return "De loginnaam is wel heel makkelijk raadbaar als wachtwoord.";
40 if (!login_password_verify($_POST['oldpass'], $User['pass'])) {
41 return "Het bestaande wachtwoord is onjuist ingevoerd; niet aangepast.";
44 if (!file_put_contents($pwfile, $_POST['newpass'])) {
45 return "Het nieuwe wachtwoord kon niet worden opgeslagen. Het oude wachtwoord is behouden.";
48 $authhash = md5($_POST['newpass']);
49 $User['auth'] = "{$User['name']}:$authhash";
57 <input type="password" name="oldpass" value="" placeholder="Huidig wachtwoord" />
58 <input type="password" name="newpass" value="" placeholder="Nieuw wachtwoord" />
59 <input type="submit" value="Wijzig" />