<?php
//Die Connect Daten muessen geaendert werden!
$db_host = ''; //Host der Datenbank
$db_user = ''; //User des Mysql Servers
$db_pass = ''; //Passwort des Users
$db = ''; //Datenbank mit den Tabellen
$table ='' //Die Tabelle mit allen Spalten
$email_tab = ''; //Spalte, wo die E-Mail Adressen gespeichert sind
$user_tab = ''; //Spalte, wo alle User gespeichert sind
$pass_tab = ''; //Spalte, wo die Passwoerter der User gespeichert sind
$link_tab = '' //Spalte, wo die verschluesselte links gespeichert sind(muss
//erstellt werden)
$server_mail = '' //Mail Adresse die die Mails mit dem Key Link
$connect = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db);
/* Alle Daten, wo es um MySQL geht */
/*Variablen Daten */
$formed_username = $_POST['username']; //Form Variable
$linked_username = $_GET['linked_username']; //Link Variable
$linked_key = $_GET['linked_key']; //Link Variable
/*Ende der Variablen */
if (isset($formed_username))
{
//Der Zugang wurde durch die Form erstellt, es wird kein Passwort generiert
$mail_account = mysql_query("select $email_tab from $table where $user_tab =
'$formed_username'") or die ("Es gibt keine engetragene Mail Adresse");
//Generieren von einem Link
//Zahl fuer den Schluessel generieren
srand ((double) microtime() * 1000000);
$key = rand(0, 999);
$key = md5($key);
$keyed_result = mysql_query("insert into $table ($link_tab) values ('".$key."')");
$link = "http://dieseite.de/forgot_passwort.php?linked_username=$formed_username&&linked_key=$key";
//Senden der E-Mail
mail($mail_account, 'Sie haben ihr Passwort vergessen', "Sie haben das Forgot Password System aktiviert. Wenn sie wirklich ein neues Passwort anfordern wolen, klicken Sie dieses Link an:$link", "From: $server_mail");
}
elseif(isset($linked_username) || isset($linked_key))
{
//Der User hat Aktivierungs Link besucht, neues Passwor wird generiert
//Die richtigkeit des Link wird ueberprueft!!!
$keyed_result = mysql_query("select * from $table where $user_tab = '$linked_username' and $link_tab = '$linked_key'") or die ("Sie haben keine Rechte, diese Seite zu betreten");
$keyed_result_1 = mysql_query("delete $link_tab from $table where $user_tb = '$linked_username'"):
//Zuffaeliges Wort aus dem Woerterbuch auswaehlen .Ispell Woerterbuch //wird benuzt
$word = ' ';
$dictionary = '/usr/dict/words'; //ispell wortterbuch, path aendern!
$fp = fopen($dictionary, 'r'); or die("Passwort kann nicht erstellt werden");
$size = filesize($dictionary);
//Zueffalige Position im Buch waehlen
srand((double) microtime() * 1000000);
$rand_location = rand(0, $size);
fseek($fp, $rand_location);
//Naechstes wort waehlen, weil das jetzige moeglicherweise nicht voll sein //wird
while (strel($word)<6 || strel($word)>13 || strstr($word, " ' "))
{
if (feof($fp))
fseek($fp, 0); //Wenn das Ende des Buches, das Anfang errreichen
$word = fgets($fp, 80);
$word = fgets($fp, 80);
}
$word=trim($word);
//Eine Zahl zum $word einfuegen
srand ((double) microtime() * 1000000);
$randed_number = rand(0, 999);
$word .= $randed_number;
//Aendern des Passwortes in der Datenbank
$result = mysql_query( "update $table set $pass_tab = password('$word') where $user_tab = '$lnked_username'");
if (!$result)
echo 'Das Passwort kann nicht generiert werden! Versuchen Sie es spaeter';
else
echo "Das Passwort wurde geaendert. Ihr neues Passwort lauten: $word"
//WICHTIG! Das Passwort wird verschluesselt in der Datenbank gespeichert!
}
else
{
echo 'Sie duerfen diese Seite nicht betreten'
}
?>