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

PHPF 7.02 Namenssperrung via Blackliste
Von: Harlekin am: 23.10.2017 - 08:10 Gelesen 421 x gelesen drucken

Werbung:
ALL INKL



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 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_ip_type='$blacklist_ip_type', 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_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 Alles auswählen
$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 Alles auswählen
$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 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_datestamp 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['440'] .= "Ebenfalls kannst du E-Mail Adressen für die Registrierung sperren. \n";


ersetzen mit:
Code Alles auswählen
$locale['440'] .= "Ebenfalls kannst du E-Mail Adressen oder Usernamen für die Registrierung sperren. \n";


suchen:
Code Alles auswählen
$locale['442'] = "E-Mail Adresse:";


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


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


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



4. In der includes/classes/UserFieldsInput.class.php

suchen:
Code Alles auswählen
$name_inactive = dbcount("(user_code)", DB_NEW_USERS, "user_name='".$this->_userName."'");


dahinter einfügen:
Code Alles auswählen
$name_blacklist = dbcount("(blacklist_id)", DB_BLACKLIST, "blacklist_username='".$this->_userName."'");


suchen:
Code Alles auswählen
if ($name_active == 0 && $name_inactive == 0) {


ersetzen mit:
Code Alles auswählen
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

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.