Mit der Zeit wächst die Userzahl und die Usernamen werden immer chaotischer, da beinahe der gesamte Zeichensatz ausgenutzt wird.
Um nun zu verhindern, daß Sonderzeichen in Usernamen verwendet werden, wäre folgender Code zu installieren:
- Code: Alles auswählen
#
#-----[ OPEN ]-----
#
includes/usercp_register.php
#
#-----[ FIND ]-----
#
if ( $board_config['allow_namechange'] || $mode == 'register' )
{
#
#-----[ AFTER, ADD ]-----
#
$check_string = 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789';
$check_errors = 0;
for ($i = 1; $i <= strlen($username); $i++)
{
$j = $i - 1;
$check_char = $username{$j};
if (!strpos($check_string, $check_char))
{
$check_errors++;
}
}
if ($check_errors != 0)
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . sprintf($lang['Username_not_alphanumeric'], $check_error);
}
#
#-----[ OPEN ]-----
#
language/lang_english/lang_main.php
#
#-----[ FIND ]-----
#
?>
#
#-----[ BEFORE, ADD ]-----
#
$lang['Username_not_alphanumeric'] = 'The username must be alphanumeric. The entered name haves %s invalid chars!';
#
#-----[ OPEN ]-----
#
language/lang_german/lang_main.php
#
#-----[ FIND ]-----
#
?>
#
#-----[ BEFORE, ADD ]-----
#
$lang['Username_not_alphanumeric'] = 'Der Benutzername muss alphanumerisch sein. Der eingegebene Name beinhaltet %s ungültige Zeichen!';
#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Damit sind zunächst nur alphanumerische Usernamen möglich.
Dieses kann erweitert werden, in dem zur Variable $check_string weitere Zeichen hinzugefügt und damit erlaubt werden.
Den Fehlertext sollte man dann ggf. entsprechend anpassen.
Quelle: OXPUS.de