jpwfour
10.07.2008, 20:48
So, da das an sich nicht viel Aufwand sein sollte, hier mal ne schnelle Anleitung dazu:
SQL:
ALTER TABLE `vms_kontodaten` ADD `f_logins` TINYINT( 2 ) NOT NULL DEFAULT '0',
ADD `f_time` INT( 11 ) NOT NULL ;datei lib/session.lib.php:
suchen:
// Wenn es den User garnicht giebt
} else {
$_GET['content'] = '/error/kein_zutritt';
}ersetzen:
// Wenn es den User garnicht giebt
} else {
$_GET['content'] = '/error/kein_zutritt';
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 ');
}
}
jetzt werden schon mal falsche logins geloggt, und die dazugehörige zeit.
dann suchen:
// Login
if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) {ersetzen mit:
// Login
if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) {
$f_check = mysql_fetch_array(db_query('SELECT k.f_logins,k.f_time FROM '.$db_prefix.'_kontodaten k
LEFT join '.$db_prefix.'_userdaten u ON u.uid=k.uid WHERE u.nickname="'.addslashes($_POST['nickname']).'"
LIMIT 1'));
if($f_check['f_logins']>2 && $f_check['f_time']>(time()-600)){
$_GET['content'] = '/error/kein_zutrit';
}else{
if($f_check['f_logins']>2){
db_query('UPDATE '.$db_prefix.'_kontodaten k, vms_userdaten u SET k.f_logins=0 WHERE
u.nickname="'.addslashes($_POST['nickname']).'" AND k.uid=u.uid ');
}kontne ich selber noch nicht testen, wäre nett, wenn das mal jemand macht und sein ergebnis hier postet :thumb:
funktionsweise:
nach 3 maliger falscher eingabe des passworts zu einem vorhandenen usernamen kann man sich unter dem namen 10 minuten lang nicht mehr einloggen, egal ob richtiges passwort oder falsches.
SQL:
ALTER TABLE `vms_kontodaten` ADD `f_logins` TINYINT( 2 ) NOT NULL DEFAULT '0',
ADD `f_time` INT( 11 ) NOT NULL ;datei lib/session.lib.php:
suchen:
// Wenn es den User garnicht giebt
} else {
$_GET['content'] = '/error/kein_zutritt';
}ersetzen:
// Wenn es den User garnicht giebt
} else {
$_GET['content'] = '/error/kein_zutritt';
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 ');
}
}
jetzt werden schon mal falsche logins geloggt, und die dazugehörige zeit.
dann suchen:
// Login
if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) {ersetzen mit:
// Login
if ($_POST['checkid'] == 'Login' && $_POST['nickname'] && $_POST['passwort']) {
$f_check = mysql_fetch_array(db_query('SELECT k.f_logins,k.f_time FROM '.$db_prefix.'_kontodaten k
LEFT join '.$db_prefix.'_userdaten u ON u.uid=k.uid WHERE u.nickname="'.addslashes($_POST['nickname']).'"
LIMIT 1'));
if($f_check['f_logins']>2 && $f_check['f_time']>(time()-600)){
$_GET['content'] = '/error/kein_zutrit';
}else{
if($f_check['f_logins']>2){
db_query('UPDATE '.$db_prefix.'_kontodaten k, vms_userdaten u SET k.f_logins=0 WHERE
u.nickname="'.addslashes($_POST['nickname']).'" AND k.uid=u.uid ');
}kontne ich selber noch nicht testen, wäre nett, wenn das mal jemand macht und sein ergebnis hier postet :thumb:
funktionsweise:
nach 3 maliger falscher eingabe des passworts zu einem vorhandenen usernamen kann man sich unter dem namen 10 minuten lang nicht mehr einloggen, egal ob richtiges passwort oder falsches.