Um das phpBB nicht zu Unrecht zu kritisieren, habe ich mir die Codestellen eben angesehen: Code:
// If the last login is more than x minutes ago, then reset the login tries/time
if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $row['user_last_login_try'] < (time() - ($board_config['login_reset_time'] * 60)))
{
$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']);
$row['user_last_login_try'] = $row['user_login_tries'] = 0;
}
// Check to see if user is allowed to login again... if his tries are exceeded
if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $board_config['max_login_attempts'] &&
$row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'])
{
message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time']));
}
Ja, das Ganze läuft auf Account-Ebene und ist damit in meinen Augen sehr kontraproduktiv. Das Risiko, dass Dritte diesen Counter an seine Grenzen treiben und damit den regulären Benutzern den Weg ins Forum versperren, ist einfach zu groß. Per Standard hat ein Benutzer 5 Versuche, sich einzuloggen. Ich sende also 5 HTTP-Posts ab (brauche dazu weniger als eine Sekunde) und User X kann sich für 30 Minuten (Standard-Vorgabe) nicht einloggen. Das mache ich schnell für alle Team-Mitglieder und hab' als Troll 'ne Weile Ruhe im Board.
Es ist mir unbegreiflich, wie das phpBB-Team zu solch einer Entscheidung kommen konnte. Das sind alles gestandene Web-Entwickler mit jahrelanger Erfahrung in diesem Gebiet. |