Seite 1 von 2
[ERLEDIGT] Sonderzeichen bei Registierung im Benutzer...
Verfasst: 08.10.2004 18:09
von Christian_N
Hallo,
also ich möchte gerne Sonderzeichen bei der Registier im Benutzernamefeld deaktivieren das heißt es sollte nur "A-Z, a-z, 0-9 und -_ (Minus bzw. Unterstrich)" gehen, wenn jemand jetzt dann was anders eingeben tut wie "Leerzeichen" oder @,€,~,*,+,!,",§,$,%,&,/,(,),=,?, usw. sollen dann verboten werden und mit eine Fehlermeldung dann ausgegeben werden z.B "Du kannst im Benutzername nur <b>A-Z, a-z, 0-9 sowie -_</b> verwenden.<br>Bitte versuche es noch einmal."
Wenn es noch kein MOD dies bezüglich gibt, zumindste habe ich keinen gefunden, wäre es echt super wenn ein Modder sowas programmieren könnten.
Und wenn es möglich ist und nicht soviel Arbeit machen sollte, das man im ACP dann einstellen kann welche Zeichen erlaubt werden und welchen nicht, so das man es mal auch ohne probleme im ACP änderen kann dann wenn man jetzt z.B doch ein Sonderzeichen wie "@ oder € oder so" erlauben möchte.
Wäre den Modder der es machen würde dann überhaus dankbar
P.S Der Mod muss nicht unbedingt mit dem EM installierbar sein, aber wäre auch nicht schlimm wenn er es wär.
M.f.G SuesseMaus28884 und nochmal Danke an die Modder
Verfasst: 09.10.2004 00:38
von Christian_N
Das mir hier vielleicht helfen kann, habe ich mal mitgeschaut, also in der includes/functions_validate.php steht ein folgender text:
// Don't allow " and ALT-255 in username.
if (strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)))
{
return array('error' => true, 'error_msg' => $lang['Username_invalid']);
}
return array('error' => false, 'error_msg' => '');
}
Wenn ich es richtig verstehe, den ein wenig english sollte man können *g* heißt es nichts anderes als das des Sonderzeichen " verboten wird, habe es mal ausgetestet ein Username zu erstelle mit diese Zeichen und schon bekam ich eine fehlermeldung durch diese zeichen ".
Also ist es möglich es so zu machen das alle Sonderzeichen und Leerzeichen blockiert werden (Fehlermeldung bei eingabe ein Sonderzeichen oder/und Leerzeichen) und nur A-Z, a-z, 0-9 sowie -_ (Minus und Unterstrich) erlaubt wird.
Leider weiss ich nicht was ich ändere müsste dann und will durch falsch eingaben auch nichts kaputt mache des Board, aber wäre nett wenn es jetzt mir etwas geholfen werden kann und wäre überaus dankbar dann
M.f.G SuesseMaus28884
Verfasst: 09.10.2004 11:33
von Acid
if( strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)) )
In dieser Zeile könntest du noch andere Zeichen "verbieten".
if( strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)) || strstr($username, '@') )
Wenn es für die in deinem ersten Beitrag genannten Zeichen HTML-Codes gibt (z.B.
Leerzeichen => oder
& => &), immer diese HTML-Codes eingeben (s.
Link).
Verfasst: 09.10.2004 12:55
von Christian_N
Ok, danke ich versuche es mal, also wenn ich es richtig verstehe muss ich jeden Sonderzeichen einzel angeben und verbieten? Und bei Leerzeichen mach ich es dann so
if( strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)) || strstr($username, '@') || strstr($username, ' ') || strstr($username, ' ') )
Oki, setze mich dann mal gleich ran und versuchs und meld geb ggf. bericht ab wenns geklappt hat oder nicht.
M.f.G SuesseMaus28884
Verfasst: 09.10.2004 13:15
von Acid
Die erste Definierung für Leerzeichen kannst du weglassen.
Wenn´s für die "Zeichen" HTML-Codes gibt, diese eintragen (nicht die "Zeichen").
Verfasst: 09.10.2004 13:16
von Christian_N
aha habe jetzt mal @ ; und & rein gesetzt werden schon dann verboten durch eine Fehlermeldung "Der gewünschte Benutzername enthält ein ungültiges Sonderzeichen (z.B. ')."
Aber jetzt hast geschrieben
Acid hat geschrieben:Wenn es für die in deinem ersten Beitrag genannten Zeichen HTML-Codes gibt (z.B. Leerzeichen => oder & => &), immer diese HTML-Codes eingeben (s. Link).
Eigentlich kann ich es doch dann weg lassen oder?
Jedenfalls hab ich mal versucht in den Benutzer name dann rein zu schreiben (ergibt Leerzeichen) und es kam die selbe Meldung wie siehe oben.
Was klar ist, weil & und ; verboten wurde und dies in den Referenze dabei sind

oder müssen die aus irgend ein sicherheitsgrund mit rein?
Verfasst: 09.10.2004 13:18
von Acid
Ja ok, entweder oder.. aber beides muss nicht (Zeichen und Codes).

Verfasst: 09.10.2004 13:19
von Christian_N
Oops dein beitrag hab ich eben nicht gelesen, war Zeitgleich *g*
Also hieße es dann bei Leerzeichen muss ich es so eingeben:
if( strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)) || strstr($username, '@') || strstr($username, ' ') )
Oder hab ich es falsch verstanden gerade?
Verfasst: 09.10.2004 13:20
von Acid
Nee, passt scho..

Verfasst: 09.10.2004 13:20
von Christian_N
*lol* Irgendwie sind wir Zeitgleich ganze Zeit, aber ok dann habe ich es jetzt verstanden, danke dir
