Statistik |
Beiträge: 144.531 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 133%
Ausl. d. letzten 5 Minuten: 160%
Ausl. d. letzten 15 Minuten: 186%
Aktulle Uhrzeit: 20:11
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
|
|
Sonderzeichen bei Usernamen ausschließen |
Steinadler
Administrator
Dabei seit: 02.09.2008
Beiträge: 725
12 Filebase-Einträge
Alter: 68 Jahre
Herkunft: Essen wBB-Version: wBB1.x PHP-Version: 5.3.3-7 MySQL-Version: 5.1.61-0 Wo bist du gehostet?: Papa Viktor =)
Bewertung:
Level: 44 [?]
Erfahrungspunkte: 4.122.408
Nächster Level: 4.297.834
|
|
Sonderzeichen bei Usernamen ausschließen |
|
Wieder einmal eine Co-Produktion von Viktor & Steinadler
Anlass:
Posting von MikeHH in diesem Thread hier: BBCode: Quote - Problem
Bisher war es nur im wbb2.3.6 (oder höher) möglich, per * als Platzhalter Sonderzeichen in der Namensfunktion zu bannen.
Dieses kleine Addon ermöglicht jetzt eine zusätzliche Funktion im Bereich:
ACP---Einstellungen---Zensur&Banfunktion---Reservierte Namen
so funktioniert es:
suche in der acp/lib/functions.php:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
function verify_username($username) {
global $db, $n, $ban_name;
$ban_name=explode("\n",preg_replace("/\s*\n\s*/","\n",strtolower(trim($ban_name))));
if(count($ban_name) && in_array(strtolower($username),$ban_name)) return false;
$result = $db->query_first("SELECT COUNT(*) FROM bb".$n."_users WHERE username = '".addslashes(htmlspecialchars($username))."'");
if($result[0]!=0) return false;
else return true;
} |
|
ersetze komplett durch:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
|
function verify_username($username) {
global $db, $n, $ban_name;
$ban_name=explode("\n",preg_replace("/\s*\n\s*/","\n",strtolower(trim($ban_name))));
if(count($ban_name) && in_array(strtolower($username),$ban_name)) return false;
$ban_name_count = count($ban_name);
for ($i = 0; $i < $ban_name_count; $i++) {
$ban_name[$i] = trim($ban_name[$i]);
if (!$ban_name[$i]) continue;
if (strstr($ban_name[$i], '*')) {
$ban_name[$i] = str_replace("*", ".*", preg_quote($ban_name[$i], "/"));
if (preg_match("/$ban_name[$i]/i", $username)) return false;
}
elseif (wbb_strtolower($username) == $ban_name[$i]) return false;
}
$result = $db->query_first("SELECT COUNT(*) FROM bb".$n."_users WHERE username = '".addslashes(htmlspecialchars($username))."'");
if($result[0]!=0) return false;
else return true;
} |
|
acp/lib/functions.php fertig!
suche im register.tpl:
code: |
1:
|
<td class="tablea" style="width:50%"><normalfont><b>Benutzername:</b></font></td> |
|
ersetze durch:
code: |
1:
|
<td class="tablea" style="width:50%"><normalfont><b>Benutzername:</b><br />Hinweis: Sonderzeichen und Umlaute sind nicht gestattet!</font></td> |
|
register.tpl fertig!
Gehe ins ACP:
ACP---Einstellungen---Zensur&Banfunktion---Reservierte Namen
folgendes eintragen:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
*'*
*´*
*`*
*@*
*|*
*»*
*«*
*{*
*}*
*[*
*]*
*<*
*>*
*&*
*laquo;*
*raquo;*
|
|
Man kann nach eigenem Ermessen Sonderzeichen aus der obigen Liste entfernen oder noch weitere hinzufügen.
Jetzt werden alle Usernamen, die oben aufgeführte Sonderzeichen enthalten, schon bei der Registrierung unterbunden.
Wer es doch versucht erhält folgende Fehlermeldung: (siehe Bild)
Hinweis:
Alle ev. vorhandenen User eines Forums, die Sonderzeichen oder Umlaute in Ihrem Namen haben, sind natürlich nicht! betroffen von der Bann-Regelung, da die Funktion:
php: |
1:
|
function verify_username |
|
nur bei der Registrierung greift.
D.h., das nur Neuregistrierungen sich bei Ihrem Namen was einfallen lassen müssen.
__________________
Mit freundlichen Grüßen Ralf
|
|
14.10.2011 23:23 |
|
|
bam313 unregistriert
|
|
Du solltest in der Anleitung schreiben, was du damit machst.
Ich würde es nicht für gut heißen mich nicht mehr als Jörg registrieren zu können, nur weil du mit diesem Schnipsel mein ö verbietest.
Man kann es übertreiben.
Wichtig ist, dass eckige Klammern und Hochkommata ausgenommen sind.
Nicht mehr - das ist Nonsens!
bam
|
|
14.10.2011 23:45 |
|
|
|
|
|
|