PHP Code:
<?php
#Der User hat sein Password vergessen,
#du moechtest ihm sein neues zuschicken
#Als erstes brauchen wir das neue Passwort
$new_password = "";
#solange #$i kleiner als 8 ist
for ($i = 0; $i < 8; $i++)
{
#erstelle einen String folge auf Zufallsbasis
$new_password .= chr(mt_rand(33,126));
}
#Wir brauchen Salz fuer unsere Suppe!
define('SALT', 'A&Sdasd87a67sdSdahsdj');
#Verschluessel nun das Passwort
#ein einfaches MD5 wuerde reichen, jedoch gaebe es dort die Moeglichekeit
#mit string vergleichungen auf den wert zukommen
#deswegen packen wir noch einen weiteren string, zum eigentlichen Passwort
#hinzu
$encrypted_password = md5(SALT . $new_password);
#speichern des Passwortes in datenbank fuer den Benutzer
#Stichwort fuer DB Verbindung:
#PDO Prepared Statements
#PHP 5
$statement = $db->prepare("UPDATE users SET password = ? WHERE username = ?");
#Ausfuehrung unseres Statements
#passwort Uebergabe fuer das STMT
#ausgegangen davon, dass das array $userInfo unsen daten ueber den
#user bereitstellt, wie zb den usernamen
$statement->execute(array( $encrypted_password, $userInfo['username']));
#Nun senden wir die E-mail mit dem Passwort als Klartext
# Email Adresse Titel Nachricht
mail($userInfo['email'], 'Neues Passwort', "Ihr neues Passwort ist: $new_password");
?>