Blockieren Sie Spammer in vBulletin durch das Projekt Honey Pot
Foren sind beliebte Ziele von Spammern. Neben den automatischen Bots und Robotern, die normalerweise durch verschiedene Techniken wie Captcha-Skripte blockiert werden, gibt es viele menschliche Spammer. Projekt Honey Pot bietet eine riesige Datenbank mit IPs, von denen Spam-Angriffe durchgeführt wurden.
Sie können ihr Skript in Ihr vBulletin Forum integrieren und jeden Zugriff von verdächtigen und bösartigen IPs blockieren. Befolgen Sie diese Schritte, um die Integration abzuschließen:
1. Melden Sie sich auf der Project Honey Pot Website an.
2. Holen Sie sich Ihren persönlichen httpBL API-Schlüssel .
3. Öffnen Sie Ihren vBulletin Adminbereich > Stile > amp; Vorlagen > Stilverwaltung . Wählen Sie die Option “ Vorlagen bearbeiten ” aus dem Dropdown-Menü neben Ihrem Standardstil und klicken Sie auf “ Go “. Wählen Sie die Option “ Kopfzeile ” aus dem linken Dropdown-Menü und klicken Sie auf “ Bearbeiten “. Fügen Sie die folgende Zeile oben im Quellcode ein:
$projecthp
und Änderungen speichern.
4. Navigieren Sie zu Plugins > amp; Produkte > Neues Plugin hinzufügen. Ändern Sie die folgenden Optionen:
Hook-Ort: global_start
Titel: PHP für Projekt Honey Pot Block einfügen
Plugin PHP Code:
ob_start ();
include (‘projecthp.php’);
$ projecthp = ob_get_contents ();
ob_end_clean ();
Plugin ist aktiv: Yes
Speichern Sie die Konfiguration.
5. Verwenden Sie einen Texteditor wie NotePad und erstellen Sie die Datei projecthp.php .
Geben Sie den folgenden Code ein:
> lt;? php
require_once (‘./ httpbl.php’);
?>
Laden Sie die Datei im Stammverzeichnis Ihres Forums hoch.
Wenn sich Ihr Forum zum Beispiel unter forum.yourdomainname.com befindet und der absolute Pfad /home/user/public_html/forum/ ist, laden Sie die Datei in das Forum Unterordner.
Weitere Informationen zum Hochladen von Dateien finden Sie in diesem FTP-Tutorial a>.
6. Erstellen Sie httpbl.php und geben Sie den folgenden Code ein:
> lt;? php
/*
Skriptname: Einfache PHP http: BL-Implementierung
Beschreibung: Einfaches Skript, um eine IP mit der Datenbank von Project Honey Pot zu vergleichen und nur legitimen Benutzern den Zugriff auf Ihr Skript zu ermöglichen
*/
/*** EDIT LINE 22 MIT IHREM EIGENEN HTTP: BL ACCESS KEY! ***/
Wenn ($ _COOKIE [‘notabot’]) {
Ozh_httpbl_logme (falsch, $ _SERVER [‘REMOTE_ADDR’]);
sonst {
Ozh_httpbl_check ();
}
function ozh_httpbl_check () {// Ihre http: BL-Taste
$ apikey = ‘ IHR_API_KEY ‘;
// IP zu testen
$ ip = $ _SERVER [‘REMOTE_ADDR’];
// die Lookup-DNS-Abfrage erstellen
// Beispiel: Für ‘127.9.1.2’ sollten Sie ‘abcdefghijkl.2.1.9.127.dnsbl.httpbl.org’ abfragen.
$ lookup = $ apikey. ‘.’. implode (‘.’, array_reverse (explode (‘.’, $ ip))). „.dnsbl.httpbl.org“;
// Abfrage-Antwort prüfen
$ result = explodieren (‘.’, gethostbyname ($ lookup));
Wenn ($ result [0] == 127) {
// Abfrage erfolgreich!
$ Aktivität = $ Ergebnis [1];
$ Threat = $ Ergebnis [2];
$ type = $ result [3];
if ($ type > amp; 0) $ typemeaning. = ‘Suchmaschine’;
if ($ type > amp; 1) $ typemeaning. = ‘Verdächtig,’;
if ($ type > amp; 2) $ typemeaning. = ‘Erntemaschine,’;
if ($ type > amp; 4) $ typemeaning. = ‘Kommentar-Spammer,’;
$ typemeaning = trim ($ typemeaning, ‘,’);
// echo “$ type: $ typbedeutung der Ebene $ Threat”;
// Bestimmen Sie nun eine Blockierungsrichtlinie
Wenn (
($ type > = 4 > amp; > amp; $ bedrohung > 0) // Kommentiere Spammer mit jeder Bedrohungsstufe
||
($ type > lt; 4 > amp; > amp; $ bedrohung > 20) // Andere Typen, deren Bedrohungsstufe größer als 20 ist
) {
$ block = true;
}
Wenn ($ block) {
ozh_httpbl_logme ($ block, $ ip, $ type, $ Threat, $ Aktivität);
Ozh_httpbl_blockme ();
sterben ();
}
}
}
function ozh_httpbl_logme ($ block = false, $ ip = ”, $ type = ”, $ Threat = ”, $ activity = ”) {
$ log = fopen (‘./ block.log’, ‘a’);
$ stamp = date (‘Jmd :: Hallo-s’);
// Einige Dinge, die Sie für weitere Analysen protokollieren könnten
$ page = $ _SERVER [‘ANFRAGE_URI’];
$ ua = $ _SERVER [“HTTP_USER_AGENT”];
Wenn ($ block) {
Fputs ($ log, “$ stamp :: BLOCKED $ ip :: $ type :: $ Threat :: $ activity :: $ page :: $ uan”);
sonst {
Fputs ($ log, “$ stamp :: UNBLCKD $ ip :: $ page :: $ uan”);
}
Fclose ($ log);
}
Funktion ozh_httpbl_blockme () {
Header (‘HTTP/1.0 403 verboten’);
Echo > lt; > lt; > lt; HTML
& lt; script type = “text/javascript” &
Funktion setcookie (name, value, expires, path, domain, secure) {
// Zeit setzen, sie ist in Millisekunden
Var heute = new Date ();
Heute.setTime (today.getTime ());
if (abläuft) {
läuft ab = läuft ab * 1000 * 60 * 60 * 24;
}
var expires_date = neues Datum (today.getTime () + (expires));
} Funktion letmein () {
Setcookie (‘notabot’, ‘wahr’, 1, ‘/’, ”, ”);
Location.reload (true);
}
& lt;/script &
& lt; h1 > Verboten > lt;/h1 &
& lt; p > Entschuldigung. Sie verwenden eine verdächtige IP. > Lt;/p &
& lt; p > Wenn Sie KEIN Bot irgendeiner Art sind, bitte klicken Sie hier > lt;/a > & ht; a href = “javascript: letmein ()” um auf die Seite zuzugreifen. > lt;/p &
HTML;
}
? &
Ändern Sie “ YOUR_API_KEY ” in der $ apikey = ‘YOUR_API_KEY’; Zeile mit Ihrem httpBL API-Schlüssel.
Laden Sie die Datei in den gleichen Ordner wie projecthp.php .
7. Die blockierten Verbindungen mit den IPs werden in der Datei block.log im Stammverzeichnis des Forums gespeichert.
Sie können die in dieser Datei aufgeführten IPs unter http: //www.projecthoneypot überprüfen. org/search_ip.php
Dort sehen Sie den Grund für die IP-Blockierung.