Werbung:

Eine Anleitung, wie ihr Benutzernamen für die Regestrierung auf euer Webseite sperren könnt, ohne einen Fakeaccount anzulegen. Sieht zwar viel aus, ist aber nur halb so schlimm.
1. Eine Spalte in der Blackliste Tabelle via phpMyAdmin für die Namenssperrung anlegen:
Code  ALTER TABLE `fusionXXXXX_blacklist` ADD `blacklist_username` VARCHAR (255) NOT NULL AFTER `blacklist_email`;
(fusionXXXXX gegen euren Tabellenprefix austauschen)
2. In administration/blacklist.php
suchen:
Code  $blacklist_email = stripinput($_POST['blacklist_email']);
dahinter einfügen:
Code  $blacklist_username = stripinput($_POST['blacklist_username']);
suchen:
Code  if ($blacklist_ip || $blacklist_email) {
ersetzen mit:
Code  if ($blacklist_ip || $blacklist_email || $blacklist_username) {
suchen:
Code  $result = dbquery("UPDATE ".DB_BLACKLIST." SET blacklist_ip='$blacklist_ip', blacklist_ip_type='$blacklist_ip_type', blacklist_email='$blacklist_email', blacklist_reason='$blacklist_reason' WHERE blacklist_id='".$_GET['blacklist_id']."'");
ersetzen mit:
Code  $result = dbquery("UPDATE ".DB_BLACKLIST." SET blacklist_ip='$blacklist_ip', blacklist_ip_type='$blacklist_ip_type', blacklist_email='$blacklist_email', blacklist_username='$blacklist_username', blacklist_reason='$blacklist_reason' WHERE blacklist_id='".$_GET['blacklist_id']."'");
suchen:
Code  $result = dbquery("INSERT INTO ".DB_BLACKLIST." (blacklist_ip, blacklist_ip_type, blacklist_user_id, blacklist_email, blacklist_reason, blacklist_datestamp) VALUES ('$blacklist_ip', '$blacklist_ip_type', '".$userdata['user_id']."', '$blacklist_email', '$blacklist_reason', '".time()."')");
ersetzen mit:
Code  $result = dbquery("INSERT INTO ".DB_BLACKLIST." (blacklist_ip, blacklist_ip_type, blacklist_user_id, blacklist_email, blacklist_username, blacklist_reason, blacklist_datestamp) VALUES ('$blacklist_ip', '$blacklist_ip_type', '".$userdata['user_id']."', '$blacklist_email', '$blacklist_username', '$blacklist_reason', '".time()."')");
suchen:
Code  $result = dbquery("SELECT blacklist_id, blacklist_ip, blacklist_email, blacklist_reason FROM ".DB_BLACKLIST." WHERE blacklist_id='".$_GET['blacklist_id']."'");
ersetzen mit:
Code  $result = dbquery("SELECT blacklist_id, blacklist_ip, blacklist_email, blacklist_username, blacklist_reason FROM ".DB_BLACKLIST." WHERE blacklist_id='".$_GET['blacklist_id']."'");
suchen:
Code  $blacklist_email = $data['blacklist_email'];
dahinter einfügen:
Code  $blacklist_username = $data['blacklist_username'];
suchen:
Code 
dahinter einfügen:
Code  $blacklist_username = "";
suchen:
Code  echo "<td class='tbl'>".$locale['442']."</td>\n";
echo "<td class='tbl'><input type='text' name='blacklist_email' value='".$blacklist_email."' class='textbox' style='width:250px' /></td>\n";
echo "</tr>\n<tr>\n";
dahinter einfügen:
Code  echo "<td class='tbl'>".$locale['445']."</td>\n";
echo "<td class='tbl'><input type='text' name='blacklist_username' value='".$blacklist_username."' class='textbox' style='width:250px' /></td>\n";
echo "</tr>\n<tr>\n";
suchen:
Code  "SELECT b.blacklist_id, b.blacklist_ip, b.blacklist_email, b.blacklist_reason, b.blacklist_datestamp, u.user_id, u.user_name, u.user_status
ersetzen mit:
Code  "SELECT b.blacklist_id, b.blacklist_ip, b.blacklist_email, b.blacklist_username, b.blacklist_reason, b.blacklist_datestamp, u.user_id, u.user_name, u.user_status
suchen:
Code  ORDER BY blacklist_datestamp DESC
ersetzen mit:
Code  ORDER BY blacklist_email, blacklist_ip, blacklist_username DESC
suchen:
Code  echo "<td class='$row_color'>".($data['blacklist_ip'] ? $data['blacklist_ip'] : $data['blacklist_email']);
ersetzen mit:
Code  echo "<td class='$row_color'>".($data['blacklist_ip'] ? $data['blacklist_ip'] : $data['blacklist_email']).($data['blacklist_username']);
3. In locale/German/admin/blacklist.php
suchen: Code  $locale['440'] .= "Ebenfalls kannst du E-Mail Adressen für die Registrierung sperren. \n";
ersetzen mit:
Code  $locale['440'] .= "Ebenfalls kannst du E-Mail Adressen oder Usernamen für die Registrierung sperren. \n";
suchen:
Code  $locale['442'] = "E-Mail Adresse:";
ersetzen mit:
Code  $locale['442'] = "Email Adresse:<strong>oder</strong> ";
suchen:
Code  $locale['444'] = "Eintrag speichern";
dahinter einfügen:
Code  $locale['445'] = "Username:";
4. In der includes/classes/UserFieldsInput.class.php
suchen:
Code  $name_inactive = dbcount("(user_code)", DB_NEW_USERS, "user_name='".$this->_userName."'");
dahinter einfügen:
Code  $name_blacklist = dbcount("(blacklist_id)", DB_BLACKLIST, "blacklist_username='".$this->_userName."'");
suchen:
Code  if ($name_active == 0 && $name_inactive == 0) {
ersetzen mit:
Code  if ($name_active == 0 && $name_inactive == 0 && $name_blacklist == 0) {
Fertig! Jetzt könnt ihr über die Blackliste auch Benutzernamen für die Registrierung sperren.
Getestet mit PHP Fusion 7.02.07
|