<?php
if (count($_POST)) {
$pwFile = "conf/users.auth.php";
$lines = file($pwFile);
// ob der eingegebene user existiert
$user = false;
foreach($lines as $key => $line) {
if (substr($line, 0, strlen($_POST['user'])) == $_POST['user']) {
$user = true;
$lineNr = $key;
}
}
$lineElements = explode(':', $lines[$lineNr]);
$filePW = $lineElements[1];
if ($user && md5($_POST['pwold']) == $filePW) {
if ($_POST['pw1'] == $_POST['pw2']) {
$lineElements[1] = md5($_POST['pw1']);
$lines[$lineNr] = implode(":", $lineElements);
$str = implode("\n", $lines);
file_put_contents($pwFile, $str);
echo "Das Passwort wurde geändert...";
} else {
echo "Die neuen Passwörter stimmen nicht überein!";
}
} else {
echo "Der User existiert nicht oder das alte Passwort ist falsch!";
}
}
?>
<h1>Passwort ändern</h1>
<form method='post'>
<table cellspacing='0'>
<tr><td>user:</td><td><input type='text' name='user' /></td></tr>
<tr><td>alt:</td><td><input type='password' name='pwold' /></td></tr>
<tr><td>neu 1:</td><td><input type='password' name='pw1' /></td></tr>
<tr><td>neu 2:</td><td><input type='password' name='pw2' /></td></tr>
</table>
<input type='submit' value='PW ändern' />
</form>