PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Passwort vergessen funktioniert nicht :(



cesar
20.10.2010, 18:01
Hey,


Ich hab ein riesen Problem, und zwar die passwort vergessen funktion funktioniert nicht richtig.

Es wird zwar ein PW versendet, aber dieses funktioniert nicht.


Was braucht ihr um mir zu helfen?


mfg

jpwfour
20.10.2010, 19:24
Inhalt der Datei content/intern/daten.php

Ausschließen, dass es nicht am "Mensch" liegt (Leerzeichen vor/nach dem Passwort, GROSS/kleinschreibung beachten, usw.)

cesar
20.10.2010, 19:27
Menschliches Versagen kann ich ausschliessen, da ich es selbst mehrmals probiert habt mit eingeben, copy&paste aber es hat einfach nicht geklappt.

hier mal die php


<?
if (isset($_POST['anf_daten']) && isset($_POST['anf_email'])) {
$_POST['anf_email'] = addslashes ($_POST['anf_email']);

$daten_anfordern = mysql_fetch_array(db_query("SELECT `uid`,`emailadresse` FROM ".$db_prefix."_emaildaten WHERE emailadresse = '".$_POST['anf_email']."' LIMIT 1"));
if ($daten_anfordern['emailadresse']) {
$neues_passwort = create_code(8);
db_query ("UPDATE ".$db_prefix."_kontodaten SET passwort='".md5($neues_passwort)."' WHERE uid=".$daten_anfordern['uid']."");
$email_message = 'Hallo,
Du hast soeben die Zugangsdaten für '.$seitenname.' angefordert.

----------------------------------------------------------
Kontonummer: '.$daten_anfordern['uid'].'
Passwort: '.$neues_passwort.'
----------------------------------------------------------

Jetzt kannst Du dich wieder auf '.$domain.'
einloggen und das Passwort wieder ändern!

Mit freundlichen Grüßen
Das '.$seitenname.' Team
';
usermail ($daten_anfordern['emailadresse'], "$seitenname Passwort", $email_message, '"'.$seitenname.'" <'.$betreibermail.'>');
$error_msg = '<b>Passwort wurde zugesandt!</b><br>';
} else {
$error_msg = '<b>Emailadresse nicht bekannt!</b><br>';
}
}
?>
<?head("Zugangsdaten anfordern");?>
<p align="center"><font color="red">&nbsp;<?=$error_msg;?></font></p>

Wenn Du deine Zugangsdaten mal verloren haben solltest oder diese einfach nur mal verlegt hast,
kannst Du hier diese Daten wieder in Erfahrung bringen. Wir senden an Deine bei uns gespeicherte
Emailadresse sofort die Daten zu.<br>
<form action="" method="post">
<div align="center">
<b>Angemeldetet Email-Adresse: </b><input type="Text" name="anf_email">&nbsp;&nbsp;<input type="Submit" name="anf_daten" value="Anfordern!" style="width:120px;">
</div>
</form>
<?foot();?>




mfg

jpwfour
20.10.2010, 21:53
Die Datei ist schon mal identisch mit der Originalen, daran liegts also nicht.

Funktioniert das "Passwort Ändern" im Userprofil?

Hast du an der Datei lib/session.lib.php Änderungen vorgenommen?

didith1207
20.10.2010, 21:57
hast du das klammid und nickname schnipsel eingebaut oder kann man sich nur mit nicknamen einloggen?

hast du villeicht anstatt den nick die klammid eingegeben weils so in der erinnerungsmail stand?

cesar
20.10.2010, 22:08
Die Datei ist schon mal identisch mit der Originalen, daran liegts also nicht.

Funktioniert das "Passwort Ändern" im Userprofil?

Hast du an der Datei lib/session.lib.php Änderungen vorgenommen?


Das müsste ich testen, mom....

hier mal die session.lib.php


<?
/*
Datei : session.lib.php
Änderungen in dieser Datei nur dann vornehmen wenn Sie wissen was Sie tun!
*/
@session_start();

// Variabeln definieren
if (!isset($_SESSION['login'])) $_SESSION['login'] = "";
if (!isset($_SESSION['werber'])) $_SESSION['werber'] = "0";
if (!isset($_SESSION['uid'])) $_SESSION['uid'] = "0";
if (!isset($_POST['nickname'])) $_POST['nickname'] = "";
if (!isset($_POST['passwort'])) $_POST['passwort'] = "";
if (!isset($_POST['checkid'])) $_POST['checkid'] = "";
if (!isset($_POST['autologin'])) $_POST['autologin'] = "";
if (!isset($_GET['logout'])) $_GET['logout'] = "";
if (!isset($_GET['ref'])) $_GET['ref'] = "0";

if ($_SESSION['werber'] == "0") $_SESSION['werber'] = (int)$_GET['ref'];

// Seiteneinstellungen laden...
$pageconfig = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_seitenkonfig LIMIT 1"));

if ($pageconfig['wartung'] == 1 && $_SESSION['uid'] != $admin_id) {
setCookie('uid','',time()-86400*30);
setCookie('passwort','',time()-86400*30);
setCookie('autologin','',time()-86400*30);
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
header ("location: ".$domain."/wartung.php");
die();
}


// Login
if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) {

$_POST['nickname'] = addslashes($_POST['nickname']);

$login_check = db_query("SELECT k.uid,k.passwort,k.status,k.hinweis FROM
".$db_prefix."_userdaten u
LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=u.uid
WHERE u.nickname='".$_POST['nickname']."' AND k.passwort='".md5($_POST['passwort'])."' LIMIT 1");

if (mysql_num_rows($login_check)) {
$login_check = mysql_fetch_array($login_check);

// Wenn User noch nicht freigeschaltet!
if ($login_check['status'] == 0) {
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
$_GET['content'] = '/error/kein_zutritt';
}

// Wenn beim User alles O.K. ist!
if ($login_check['status'] == 1) {
db_query("UPDATE ".$db_prefix."_kontodaten SET login_ip='".$ip."' , loginzeit='".time()."' WHERE uid=".$login_check['uid']." and passwort='".md5($_POST['passwort'])."' LIMIT 1");
db_query("UPDATE ".$db_prefix."_werberdaten SET aktivzeit='".time()."' WHERE uid=".$login_check['uid']." LIMIT 1");
if ($_POST['autologin'] == 'true') {
setCookie('uid',$login_check['uid'],time()+86400*30);
setCookie('passwort',$login_check['passwort'],time()+86400*30);
setCookie('autologin','true',time()+86400*30);
}
$_SESSION['uid'] = $login_check['uid'];
$_SESSION['passwort'] = $login_check['passwort'];
$_SESSION['login'] = "true";
header ("location: ".$domain);
die();
}

// Wenn User gesperrt wurde!
if ($login_check['status'] == 2) {
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
$_GET['content'] = '/error/user_gesperrt';
}

// Wenn es den User garnicht giebt
} else {
$_GET['content'] = '/error/kein_zutritt';
}

} else {
if ($_POST['checkid'] == 'Login') $_GET['content'] = '/error/kein_zutritt';
}

// Autologin
if ($_SESSION['login'] != 'true' && isset($_COOKIE['autologin']) && isset($_COOKIE['uid']) && isset($_COOKIE['passwort'])) {

$_COOKIE['uid'] = (int)$_COOKIE['uid'];
$_COOKIE['passwort'] = addslashes ($_COOKIE['passwort']);

$login_check = db_query("SELECT `uid`,`passwort`,`status`,`hinweis` FROM ".$db_prefix."_kontodaten WHERE uid=".$_COOKIE['uid']." and passwort='".$_COOKIE['passwort']."' LIMIT 1");
if (mysql_num_rows($login_check)) {
$login_check = mysql_fetch_array($login_check);
if ($login_check['status'] == 1) {
db_query("UPDATE ".$db_prefix."_kontodaten SET login_ip='".$ip."' , loginzeit='".time()."' WHERE uid=".$_COOKIE['uid']." and passwort='".$_COOKIE['passwort']."' LIMIT 1");
db_query("UPDATE ".$db_prefix."_werberdaten SET aktivzeit='".time()."' WHERE uid=".$login_check['uid']." LIMIT 1");
$_SESSION['uid'] = $login_check['uid'];
$_SESSION['passwort'] = $login_check['passwort'];
$_SESSION['login'] = "true";
}
}
}

// Logout
if ($_GET['logout'] == 'true') {
setCookie('uid','',time()-86400*30);
setCookie('passwort','',time()-86400*30);
setCookie('autologin','',time()-86400*30);
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
header ("location: ".$domain);
die();
}
if (isset ($_SESSION['uid']) && isset ($_SESSION['passwort']) && !empty ($_SESSION['uid']) && !empty ($_SESSION['passwort'])){
db_query ("UPDATE ".$db_prefix."_kontodaten SET last_active = ".time()." WHERE uid = ".$_SESSION['uid']." AND passwort = '".$_SESSION['passwort']."' LIMIT 1");
}
?>
hast du das klammid und nickname schnipsel eingebaut oder kann man sich nur mit nicknamen einloggen?

hast du villeicht anstatt den nick die klammid eingegeben weils so in der erinnerungsmail stand?

ne hab da nix wieteres reingemacht, benutz das vms ohne klammanbindung

EDIT: Im Userprofil kann ich mein Passwort ändern und das funktioniert auch.



mfg

didith1207
20.10.2010, 22:10
hast du dich mit nicknamen versucht einzuloggen?
da machen viele den fehler und versuchens mit der uid weil die inder erinnerungsmail geschrieben steht und nicht der nick wenns nicht umgebaut wurde

cesar
20.10.2010, 22:18
ja klar mit nickname und pw.

ich dachte zuerst es lag am ß im nick, aber daran lags nicht, weil jetzt hats auch noch nen anderer user mit normalem nick... :(

jpwfour
21.10.2010, 11:49
Lass dir nochmal ein Passwort zuschicken, berechne daraus selber den MD5 Hash:
http://www.php-space.info/php/space/md5-generatoren.php
und vergleiche den dann mit dem in der Datenbank.

Da aber quasi alle Dateien identisch mit dem Originalskript sind und es im Userprofil geht, hast du entweder am Userprofil was geändert, oder aber es liegt doch am "Mensch" :wink:

Evtl auch noch auf andere Änderungen die du unbedacht vornimmst, siehe:
http://www.designerscripte.net/showthread.php?t=12879
zurückzuführen :suspicious:

cesar
21.10.2010, 20:41
Lass dir nochmal ein Passwort zuschicken, berechne daraus selber den MD5 Hash:
http://www.php-space.info/php/space/md5-generatoren.php
und vergleiche den dann mit dem in der Datenbank.

Da aber quasi alle Dateien identisch mit dem Originalskript sind und es im Userprofil geht, hast du entweder am Userprofil was geändert, oder aber es liegt doch am "Mensch" :wink:

Evtl auch noch auf andere Änderungen die du unbedacht vornimmst, siehe:
http://www.designerscripte.net/showthread.php?t=12879
zurückzuführen :suspicious:


So das hab ich eben gemacht, er generiert einen komplett anderen md5 hash.


Meine User haben mir auch ein weiteres Problem geschildert und zwar dass sie sich meist 2mal einloggen müssen damit sie eingeloggt sind, weil beim 1sten mal klappts nicht.

Woran liegt es dass er mir den falschen md5 hash generiert?

Die Struktur der Spalte passwort


passwort varchar(32) latin1_swedish_ci
Nein




Ist das richtig?


Woran liegt das mit dem 2x mal login?


mfg

Parl
21.10.2010, 20:56
Woran liegt das mit dem 2x mal login?


Vermutlich rufen deine User die Seite mit http://seite.de auf, wobei in der functions.lib.php bei $domain http://www.seite.de eingetragen ist.

Der Cookie wird für den Aufruf ohne www. gesetzt, danach wird auf die URL mit www. weitergeleitet (wo folglich noch kein Cookie existert) und sind somit immernoch ausgeloggt.

Lösung wäre per htaccess Aufrufe ohne www. automatisch auf www. umzuleiten.

Hier der passende Post dazu:
http://www.designerscripte.net/showpost.php?p=42158&postcount=2

cesar
21.10.2010, 21:07
Vermutlich rufen deine User die Seite mit http://seite.de auf, wobei in der functions.lib.php bei $domain http://www.seite.de eingetragen ist.

Der Cookie wird für den Aufruf ohne www. gesetzt, danach wird auf die URL mit www. weitergeleitet (wo folglich noch kein Cookie existert) und sind somit immernoch ausgeloggt.

Lösung wäre per htaccess Aufrufe ohne www. automatisch auf www. umzuleiten.

Hier der passende Post dazu:
http://www.designerscripte.net/showpost.php?p=42158&postcount=2


Damit bekomm ich nur diese Fehlermeldung


Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache Server at www.bonus-welt.eu Port 80

Ahso meine .htaccess sah so aus



Rewrite Engine On
RewriteCond %{HTTP_HOST} !^www\.bonus-welt\.eu$
RewriteRule ^(.*)$ http://www.bonus-welt.eu/$1 [L,R=301]

Parl
21.10.2010, 21:14
RewriteEngine On
RewriteCond %{HTTP_HOST} ^bonus-welt\.eu$ [NC]
RewriteRule ^(.*) http://www.bonus-welt.eu%{REQUEST_URI} [L,R=301]

Probier das mal so.

jpwfour
22.10.2010, 10:22
mod_rewrite FAQ; Fehlerquellen/-meldungen (HTTP 403/404/500) (http://forum.modrewrite.de/topic82.html#p264)

cesar
22.10.2010, 20:48
RewriteEngine On
RewriteCond %{HTTP_HOST} ^bonus-welt\.eu$ [NC]
RewriteRule ^(.*) http://www.bonus-welt.eu%{REQUEST_URI} [L,R=301]Probier das mal so.


danke damit bekomm ich keine Fehler mehr.



Allerdings das mit den PW zusenden klappt immer noch nicht. Da ist immer noch irgendwo nen Fehler drin. :(


mfg

Lokutos
23.10.2010, 10:36
Doch es funktioniert.

Habe mich jetzt einfach einmal auf Deiner seite angemeldet.


http://www.bonus-welt.eu/?content=/intern/anmelden aufgerufen und mich angemeldet.

Hallo, Lokutos
Du hast Dich soeben erfolgreich bei Bonus-Welt angemeldet.

Bitte aktiviere jetzt Deinen Account, klicke dazu bitte auf den
Aktivierungslink: http://www.bonus-welt.eu/?content=/intern/aktivieren&ak=ea95ad13a61e732ec3a556673f33675e

----------------------------------------------------------
Nickname: Lokutos
User-ID : 584
Passwort: *********<--muss hier nicht jeder wissen

----------------------------------------------------------

Nach der Aktivierung kannst Du dich sofort einloggen und bei
uns teilnehmen.

Mit freundlichen Grüßen
Das Bonus-Welt Team
nun habe ich mich eingeloggt mit "Lokutos" und "*******" FUNKTIONIERTE


nun Ausgeloggt FUNKTIONIERTE


Nun auf den Passwort vergessen link geklickt und meine email eingegeben.

Email ist angekommen:


Bonus-Welt Passwort

Hallo,
Du hast soeben die Zugangsdaten für Bonus-Welt angefordert.

----------------------------------------------------------
Kontonummer: 584
Passwort: BQSYemNQ
----------------------------------------------------------

Jetzt kannst Du dich wieder auf http://www.bonus-welt.eu (http://www.bonus-welt.eu/)
einloggen und das Passwort wieder ändern!

Mit freundlichen Grüßen
Das Bonus-Welt Team
Nun habe ich mich mit "Lokutos" und "BQSYemNQ" eingeloggt


Wahr erfolgreich eingeloggt und habe meinen Acc wieder gelöscht.

cesar
23.10.2010, 12:53
Also bei mir klappts nicht.


Hallo,
Du hast soeben die Zugangsdaten für Bonus-Welt angefordert.

----------------------------------------------------------
Kontonummer: 479
Nick: Großeliebe
Passwort: LqXFpmQj
----------------------------------------------------------

Jetzt kannst Du dich wieder auf http://www.bonus-welt.eu (http://www.bonus-welt.eu/)
einloggen und das Passwort wieder ändern!

Mit freundlichen Grüßen
Das Bonus-Welt Team


Es klappt einfahc nicht.


mfg

Xenon
23.10.2010, 12:56
Du musst aufpassen keine Leerzeichen mitzukopieren

Lokutos
23.10.2010, 12:57
----------------------------------------------------------
Kontonummer: 479
Nick: Großeliebe
Passwort: LqXFpmQj
----------------------------------------------------------

----------------------------------------------------------
Kontonummer: 584
Passwort: BQSYemNQ
----------------------------------------------------------etwas umgeändert ???

cesar
23.10.2010, 13:00
nein, nur damit ihr es auch probieren könnt, hab ich mal den nick mit reingeschrieben, aber er wird nicht mit übergeben.

mfg



Ahso, also ich hab grad nochmal in der DB geschaut, da wird der richtige Hash gespeichert. Aber einloggen klappt nicht. Probiert im IE und FF.

Lokutos
23.10.2010, 13:02
ist der user Freigeschaltet ?

Parl
23.10.2010, 13:20
Habs jetzt auch mal ausprobiert und es klappt ebenfalls mit dem mir zugesendeten Passwort.



Hallo,
Du hast soeben die Zugangsdaten für Bonus-Welt angefordert.

----------------------------------------------------------
Kontonummer: 588
Passwort: 1TEWcRNA