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
|