Werbung:
  
 
  Eine Anleitung, wie ihr Benutzernamen 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_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_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_user_id, blacklist_email, blacklist_reason, blacklist_datestamp) VALUES ('$blacklist_ip', '".$userdata['user_id']."', '$blacklist_email', '$blacklist_reason', '".time()."')");
  
 
ersetzen mit: 
  Code  $result = dbquery("INSERT INTO ".DB_BLACKLIST." (blacklist_ip, blacklist_user_id, blacklist_email, blacklist_username, blacklist_reason, blacklist_datestamp) VALUES ('$blacklist_ip', '".$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_email, blacklist_ip 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['442'] = "Blacklist Email Adresse:";
  
 
ersetzen mit: 
  Code  $locale['442'] = "Blacklist Email Adresse:<strong>oder</strong> ";
  
 
suchen: 
  Code  $locale['444'] = "Blacklist Benutzer";
  
 
Dahinter einfügen: 
  Code  $locale['445'] = "Blacklist Username:";
  
 
 
4. In der register.php 
 
suchen: 
  Code  if (dbcount("(user_id)", DB_USERS, "user_email='$email'") != 0) { $error = $locale['408']."<br />\n";}
  
 
davor einfügen: 
  Code  if (dbcount("(user_id)", DB_USERS, "user_name='$username'") != 0) { $error = $locale['407']."<br />\n";} 
  
 
suchen: 
  Code  if ($user_info['user_name'] == $username) { $error = $locale['409']."<br />\n"; break; }
  
 
davor einfügen: 
  Code  if ($new_users['user_email'] == $email) { $error = $locale['409']."<br />\n"; }
  
 
5. In locale/register.php 
 
anlegen: 
  Code  $locale['407'] = "Sorry, der Benutzername ".(isset($_POST['username']) ? $_POST['username'] : "")." ist schon vergeben.";
  
 
Fertig! Jetzt könnt ihr über die Blackliste auch Benutzernamen für die Registrierung sperren. 
 
Getestet mit PHP Fusion 7.01.06 
 
 |