PHP Code:
<?PHP
if(isset($_POST['sfform']) && $_POST['sfform']=="reset") {
if(!empty($_POST['account']) && !empty($_POST['sicherheitsf']) && !empty($_POST['sicherheitsa'])) {
$acc = mysql_real_escape_string($_POST['account']);
$frage = mysql_real_escape_string($_POST['sicherheitsf']);
$antwort = mysql_real_escape_string(md5($_POST['sicherheitsa']));
$sqlCmd = "SELECT id FROM account.account WHERE login='".$acc."' AND question1='".$frage."' AND answer1='".$antwort."' LIMIT 1";
$sqlQry = mysql_query($sqlCmd,$sqlServ);
if(mysql_num_rows($sqlQry)>0) {
$newPass = substr(md5(rand(999,99999)),0,8);
$setPass = "UPDATE account.account SET password=PASSWORD('".$newPass."') WHERE login='".$acc."' LIMIT 1";
$qryPass = mysql_query($setPass);
if($qryPass) {
echo'<p class="meldung">Ihr Passwort wurde erfolgreich neu gesetzt.<br/><br/>Das neue Passwort für den Account <b>'.$acc.'</b> ist: <b>'.$newPass.'</b>.<br/><br/>Viel Spaß beim Spielen.</p>';
}
else {
echo'<p class="meldung">Ein neues Passwort konnte nicht gesetzt werden. Bei dieser Meldung bitte einen Admin kontaktieren.</p>';
}
}
}
else {
echo'<p class="meldung">Es wurden keine Daten eingegeben.</p>';
}
}
if(isset($_POST['emailreset']) && $_POST['emailreset']=="reset") {
if(!empty($_POST['account']) && checkMail($_POST['email']) && $_SESSION["captcha_id"] == $_POST['captcha']) {
$acc = mysql_real_escape_string($_POST['account']);
$email = mysql_real_escape_string($_POST['email']);
$newPass = substr(md5(rand(999,99999)),0,8);
$getUser = "SELECT id FROM account.account WHERE login='".$acc."' AND email='".$email."' LIMIT 1";
$qryUser = mysql_query($getUser);
if(mysql_num_rows($qryUser)>0) {
$setPass = "UPDATE account.account SET password=PASSWORD('".$newPass."') WHERE login='".$acc."' LIMIT 1";
$qryPass = mysql_query($setPass);
if($qryPass) {
echo'<p class="meldung">Ihr Passwort wurde erfolgreich neu gesetzt. Sie erhalten nun eine E-Mail mit dem neuen Passwort.</p>';
$absender = $serverSettings['titel']." Passwortservice";
$email = $serverSettings['pass_mail'];
$empfaenger = $_POST['email'];
$mail_body = "Hallo,
Dein Passwort wurde erfolgreich zurückgesetzt.
Account: ".$acc."
Neues Passwort: ".$newPass."
Viel Spaß beim Spielen,
Dein ".$serverSettings['titel']."-Team
Diese E-Mail wurde automatisch generiert. Bitte keine Antworten an diese Adresse schicken.";
$titel = "Passwort auf ".$serverSettings['titel'];
$header .= "X-Priority: 3\n";
$header .= "X-Mailer: mtVision Homepage Mailer\n";
$header .= "MIME-Version: 1.0\n";
$header .= "From: ".$absender." <".$serverSettings['pass_mail'].">\n";
$header .= "Reply-To: ".$serverSettings['pass_mail']."\n";
//$header .= "Content-Transfer-Encoding: 8bit\n";
$header .= "Content-Type: text/plain; charset=iso-8859-1\n";
if(!mail($empfaenger, $titel, $mail_body, $header)) {
echo'<p class="meldung">Fehler mit dem Mailserver: Bitte schnellstmöglich einen Admin kontaktieren!</p>';
}
}
else {
echo'<p class="meldung">Ein neues Passwort konnte nicht gesetzt werden. Bei dieser Meldung bitte einen Admin kontaktieren.</p>';
}
}
else {
echo'<p class="meldung">Die angegebene Kombination existiert nicht.</p>';
}
}
else {
echo'<p class="meldung">Sie habe nicht alle Daten korrekt eingegeben.</p>';
}
}
?>
<div class="splitLeft">
<h3>Per Sicherheitsfrage zurücksetzen</h3>
<p>Um das Passwort zurück zu setzen, muss die korrekte Geheimfrage angegeben werden.</p>
<form action="index.php?s=lostpw" method="POST">
<table>
<tr>
<th class="topLine">Account:</th>
<td class="tdunkel"><input type="text" name="account" size="16" maxlength="16"/></td>
</tr>
<tr>
<th class="topLine">Sicherheitsfrage:</th>
<td class="thell">
<select name="sicherheitsf">
<?PHP
foreach($sFrage AS $fragew => $frage) {
echo'<option value="'.$fragew.'">'.$frage.'</option>';
}
?>
</select>
</td>
</tr>
<tr>
<th class="topLine">Antwort:</th>
<td class="tdunkel"><input type="text" name="sicherheitsa" size="16" maxlength="16"/></td>
</tr>
<tr>
<th class="topLine" colspan="2" style="text-align:center;"><input type="submit" name="sfform" value="reset"/></th>
</tr>
</table>
</form>
</div>
<div class="splitRight">
<h3>Per E-Mail zurücksetzen</h3>
<p>Diese Funktion sendet ihnen an Ihre E-Mail ein neues Passwort. Voraussetzung dafür ist, dass die eingetragene E-Mail korrekt ist.</p>
<form action="index.php?s=lostpw" method="POST">
<table>
<tr>
<th class="topLine">Account:</th>
<td class="tdunkel"><input type="text" name="account" size="16" maxlength="16"/></td>
</tr>
<tr>
<th class="topLine">E-Mail:</th>
<td class="tdunkel"><input type="text" name="email" size="25" maxlength="25"/></td>
</tr>
<tr>
<th class="topLine">Captcha:</th>
<td class="tdunkel"><input type="text" name="captcha" size="10" maxlength="5"/><br/><img src="./captcha/captcha.php" alt="captcha" title="captcha"/></td>
</tr>
<tr>
<th colspan="2" class="topLine" style="text-align:center;"><input type="submit" name="emailreset" value="reset"/></th>
</tr>
</table>
</form>
</div>