habe folgendes Problem wenn man das Passwort nun falsch eingibt wird man zwar gesperrt und kann sich mit dem Nick nicht einloggen aber mit der Klammid kann man sich trotzdem noch einloggen.
habe folgendes Problem wenn man das Passwort nun falsch eingibt wird man zwar gesperrt und kann sich mit dem Nick nicht einloggen aber mit der Klammid kann man sich trotzdem noch einloggen.
ok, da die variante mit der klamm id nicht im grundscript drin ist, wurde die auch nicht bedacht...
(der tippfehler war natürlich beabsichtigt, um euch zu zeigen, dass man hier ne eigene fehlerseite reinmachen soll)
wenn du beide login möglichkeiten hast, musst du halt bei den datenbank abfragen immer ne "weiche" einbauen, also wenn der eingegebene "nickname" nur aus zahlen besteht, dann halt per uid=$_POST['nickname'], ansonsten so wie der code jetzt ist...
könnte man zwar auch noch per OR uid=... machen, und den andeern teil muss man natürlich auch noch ändern.PHP-Code:
// Wenn es den User garnicht giebt
} else {
$_GET['content'] = '/error/kein_zutritt';
if(ctype_digit($_POST['nickname'])){
db_query('UPDATE '.$db_prefix.'_kontodaten SET f_logins=f_logins+1, f_time='.time().' WHERE uid="'.$_POST['nickname'].'"');
}else{
db_query('UPDATE '.$db_prefix.'_kontodaten k, vms_userdaten u SET k.f_logins=k.f_logins+1,
k.f_time='.time().' WHERE u.nickname="'.$_POST['nickname'].'" AND k.uid=u.uid ');
}
}
}
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
Eine Frage habe ich dazu noch. Gebe ich zb das Passwort einmal falsch ein und log mich dann mit dem richtigen Passwort ein. Dann reicht es beim nächsten mal 2x das Passwort falsch einzugeben bis man gesperrt ist. Könnte man da nicht so machen das nach einem erfolgreichen LogIn die Loginversuche wieder auf 3 zu setzen.
Geht einfach, täglicher Cron der das Feld nullt wenn es nicht auf 3 ist.
MfG
Ja das könnte man machen... schöner finde ich wenn es erst auf null gesetzt wird wird wenn der login erfolgreich war. Also muss es dann in die Login mit rein oder?
Genau
füge in der session.lib unter
das ein :PHP-Code:
// Wenn beim User alles O.K. ist!
if ($login_check['status'] == 1 ) {
PHP-Code:
if($f_check['f_logins']==1 || $f_check['f_logins']==2){
db_query('UPDATE '.$db_prefix.'_kontodaten k, '.$db_prefix.'_userdaten u SET k.f_logins=0
WHERE u.nickname="'.$_POST['nickname'].'" AND k.uid=u.uid ');
}
Danke schön.