Tutorial Übersicht Tutorial Übersicht  >>  PHP Fusion PHP Fusion

PHPF 7.01 Namenssperrung via Blackliste
Von: Harlekin am: 23.10.2017 - 08:07 Gelesen 525 x gelesen drucken

Werbung:
ALL INKL



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 Alles auswählen
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 Alles auswählen
$blacklist_email = stripinput($_POST['blacklist_email']);


dahinter einfügen:
Code Alles auswählen
$blacklist_username = stripinput($_POST['blacklist_username']);


suchen:
Code Alles auswählen
if ($blacklist_ip || $blacklist_email) {


ersetzen mit:
Code Alles auswählen
if ($blacklist_ip || $blacklist_email || $blacklist_username) {


suchen:
Code Alles auswählen
$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 Alles auswählen
$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 Alles auswählen
$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 Alles auswählen
$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 Alles auswählen
$result = dbquery("SELECT blacklist_id, blacklist_ip, blacklist_email, blacklist_reason FROM ".DB_BLACKLIST." WHERE blacklist_id='".$_GET['blacklist_id']."'");


ersetzen mit:
Code Alles auswählen
$result = dbquery("SELECT blacklist_id, blacklist_ip, blacklist_email, blacklist_username, blacklist_reason FROM ".DB_BLACKLIST." WHERE blacklist_id='".$_GET['blacklist_id']."'");


suchen:
Code Alles auswählen
$blacklist_email = $data['blacklist_email'];


dahinter einfügen:
Code Alles auswählen
$blacklist_username = $data['blacklist_username'];


suchen:
Code Alles auswählen
$blacklist_email = "";


dahinter einfügen:
Code Alles auswählen
$blacklist_username = "";


suchen:
Code Alles auswählen
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 Alles auswählen
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 Alles auswählen
"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 Alles auswählen
"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 Alles auswählen
ORDER BY blacklist_email, blacklist_ip DESC


ersetzen mit:
Code Alles auswählen
ORDER BY blacklist_email, blacklist_ip, blacklist_username DESC


suchen:
Code Alles auswählen
echo "<td class='$row_color'>".($data['blacklist_ip'] ? $data['blacklist_ip'] : $data['blacklist_email']);


ersetzen mit:
Code Alles auswählen
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 Alles auswählen
$locale['442'] = "Blacklist Email Adresse:";


ersetzen mit:
Code Alles auswählen
$locale['442'] = "Blacklist Email Adresse:<strong>oder</strong> ";


suchen:
Code Alles auswählen
$locale['444'] = "Blacklist Benutzer";


Dahinter einfügen:
Code Alles auswählen
$locale['445'] = "Blacklist Username:";



4. In der register.php

suchen:
Code Alles auswählen
if (dbcount("(user_id)", DB_USERS, "user_email='$email'") != 0) { $error = $locale['408']."<br />\n";}


davor einfügen:
Code Alles auswählen
if (dbcount("(user_id)", DB_USERS, "user_name='$username'") != 0) { $error = $locale['407']."<br />\n";}


suchen:
Code Alles auswählen
if ($user_info['user_name'] == $username) { $error = $locale['409']."<br />\n"; break; }


davor einfügen:
Code Alles auswählen
if ($new_users['user_email'] == $email) { $error = $locale['409']."<br />\n"; }


5. In locale/register.php

anlegen:
Code Alles auswählen
$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

War dieses Tutorial hilfreich für dich?
Nur Mitglieder können abstimmen!
Für 5 der Mitglieder war es hilfreich.
Für 0 der Mitglieder nicht.