Autor |
Nachricht |
headshot360
Spammer
Anmeldedatum: 09.12.2007 Beiträge: 57
|
Verfasst am: Mi 02 Jan 2008, 15:49 Titel:
|
|
Zitat: | Code: | $zeichen="abcdefghijklmnopqrstuvwxyz"; |
|
du solltest da noch die zahlen 0-9 einfügen, da ja nicht jeder nur buchstaben in seinem pw hat[/code]
|
Nach oben
|
|
|
ONeill
UGamela-Kenner
Anmeldedatum: 24.12.2007 Beiträge: 81
|
Verfasst am: Mi 02 Jan 2008, 16:51 Titel:
|
|
jo war ja auch nur erstmal so gedacht ob es überhaupt funkt
|
Nach oben
|
|
|
blabla
Spammer
Anmeldedatum: 31.12.2007 Beiträge: 69
|
Verfasst am: Mi 02 Jan 2008, 20:57 Titel:
|
|
Ungetestet! Soll nur auf paar sachen aufmerksam machen^^
Code: | <?
/*******************************************************************************************************
*
* PW-VERGESSEN SCRIPT
* by ONeill
* letztes update: 31.12.07 15:53
* Kontakt ICQ: 227826486
*
*******************************************************************************************************/
//Skript muss im Ugamela dir liegen
//$laenge gibt die länge der Zeichenkette an.
//$zeichen gibt die zeichen an die enthalten seien dürfen/sollen.
//$md5 stellt verschlüsselung Ein bzw. aus.
define('INSIDE', true);
//Wieso Datenbank Verbindung selber herstellen? Wir wollen doch eine Hohe Kohäsion und wenig Code Redundanz :P
$ugamela_root_path = './';
include($ugamela_root_path . 'extension.inc');
include($ugamela_root_path . 'common.'.$phpEx);
$laenge = "8";
$md5 = true; //Für JA/NEIN Fälle is boolean immer besser obwohl 1 auch für true steht aber nicht "1" !^^
$action = $_GET['action']; //Damit $action nicht leer steht
//Wir wollen doch keine XSS wenn die email angezeigt wird...
$mail = htmlspecialchars($_REQUEST['email']);
$zeichen="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for ($i=1; $i <= $laenge; $i++)
{
$rueckgabe .= $zeichen{rand(0,strlen($zeichen))};
}
if($mail == '')
{
$error = 'Bitte Email angeben.<br>';
}elseif(preg_match("/[^A-z0-9_\-]/", $mail){ //ebenso wenig sql injections...
$error = 'Die Email darf nur alphanummerische Zeichen enthalten.<br>';
}
//Email sollte hier auch noch auf "Email" gecheckt werden^^
if($error=='')
{
if($action == "passwd")
{
$sql1 = doquery("SELECT * FROM {{table}} WHERE email = '".$mail."'", 'users', true);
if($sql1)
{
$mailtext = 'Dein Passwort lautet: ' .$rueckgabe;
mail($mail, 'Dein Passwort', $mailtext, "FROM: test@root.de");
echo 'Dein Passwort wurde an '.$email.'gesendet'; //sollte auch in nem template stattfinden
if($md5) $rueckgabe = md5($rueckgabe);
$sql2 = doquery("UPDATE {{table}} SET password='".$rueckgabe2."' WHERE email='".$mail."'", 'users');
}
}
}else{
//$error ausgabe in irgendnem template...
}
?> |
|
Nach oben
|
|
|
ONeill
UGamela-Kenner
Anmeldedatum: 24.12.2007 Beiträge: 81
|
Verfasst am: Do 03 Jan 2008, 11:50 Titel:
|
|
also erstmal danke für die anpassung doch funktioniert das nicht so ganz
du hattest ne klammer vergessen aber auch so funktioniert das i.wie nicht so ganz...hab auch gerade ka warum
|
Nach oben
|
|
|
blabla
Spammer
Anmeldedatum: 31.12.2007 Beiträge: 69
|
Verfasst am: Do 03 Jan 2008, 16:17 Titel:
|
|
wie gesagt ungetestet und es sollte dich nur auf ein paar sachen aufmerksam machen, soll auch heißen dass du das nicht übernehmen sollst sondern an deinem weiter arbeiten^^
|
Nach oben
|
|
|
ONeill
UGamela-Kenner
Anmeldedatum: 24.12.2007 Beiträge: 81
|
Verfasst am: Do 03 Jan 2008, 19:40 Titel:
|
|
jojo ^^ und auch danke hilft auch...werde meins nochmal überarbeiten
|
Nach oben
|
|
|
|