Inizio
/
Altre applicazioni
/
Blocca gli spammer in vBulletin tramite Project Honey Pot

Blocca gli spammer in vBulletin tramite Project Honey Pot

I forum sono obiettivi popolari degli spammer. Oltre ai bot automatici e ai robot che di solito vengono bloccati tramite diverse tecniche come gli script captcha, ci sono molti spammer umani. Project Honey Pot fornisce un enorme database con IP da cui sono stati eseguiti attacchi di spam.

Puoi integrare il loro script nel tuo forum vBulletin e bloccare tutti gli accessi da IP sospetti e dannosi. Segui questi passaggi per completare l’integrazione:

1. Registrati sul sito Project Honey Pot.

2. Ottieni la tua chiave API httpBL personale.

3. Apri la tua area di amministrazione di vBulletin > Styles & Templates > Style Manager. Seleziona l’opzione “Edit Templates” dal menu a discesa accanto al tuo stile predefinito e fai clic su “Go”. Seleziona l’opzione “header” dal menu a discesa a sinistra e fai clic su “Edit”. Incolla la seguente riga nella parte superiore del codice sorgente:

$projecthp

e salva le modifiche.

4. Naviga a Plugins & Products > Add New Plugin. Cambia le seguenti opzioni:

Hook Location: global_start


Title: Insert PHP For Project Honey Pot Block


Plugin PHP code:


ob_start();

include(‘projecthp.php’);

$projecthp = ob_get_contents();

ob_end_clean();


Plugin is Active : Yes

Salva la configurazione.

5. Utilizza un editor di testo come NotePad e crea il file projecthp.php.

Inserisci il seguente codice all’interno:

<?php
require_once(‘./httpbl.php’);

?>

Carica il file nella cartella principale del tuo forum.

Ad esempio, se il tuo forum si trova in forum.yourdomainname.com e il percorso assoluto per raggiungerlo è /home/user/public_html/forum/, carica il file nella sottocartella forum.

Puoi trovare maggiori dettagli su come caricare i file in questo tutorial FTP.

6.Crea httpbl.php e inserisci il seguente codice al suo interno:

<?php
/*
Script Name: Simple PHP http:BL implementation
Description: Simple script to check an IP against Project Honey Pot’s database and let only legitimate users access your script
*/

/*** EDIT LINE 22 WITH YOUR OWN HTTP:BL ACCESS KEY ! ***/

if ($_COOKIE[‘notabot’]) {
ozh_httpbl_logme(false, $_SERVER[‘REMOTE_ADDR’]);
} else {
ozh_httpbl_check();
}

function ozh_httpbl_check() { // your http:BL key
$apikey = ‘YOUR_API_KEY‘;
// IP to test
$ip = $_SERVER[‘REMOTE_ADDR’];
// build the lookup DNS query
// Example : for ‘127.9.1.2’ you should query ‘abcdefghijkl.2.1.9.127.dnsbl.httpbl.org’
$lookup = $apikey . ‘.’ . implode(‘.’, array_reverse(explode (‘.’, $ip ))) . ‘.dnsbl.httpbl.org’;
// check query response
$result = explode( ‘.’, gethostbyname($lookup));
if ($result[0] == 127) {
// query successful !
$activity = $result[1];
$threat = $result[2];
$type = $result[3];
if ($type & 0) $typemeaning .= ‘Search Engine, ‘;
if ($type & 1) $typemeaning .= ‘Suspicious, ‘;
if ($type & 2) $typemeaning .= ‘Harvester, ‘;
if ($type & 4) $typemeaning .= ‘Comment Spammer, ‘;
$typemeaning = trim($typemeaning,’, ‘);
// echo “$type : $typemeaning of level $threat “;
// Now determine some blocking policy
if (
($type >= 4 && $threat > 0) // Comment spammer with any threat level
||
($type < 4 && $threat > 20) // Other types, with threat level greater than 20
) {
$block = true;
}
if ($block) {
ozh_httpbl_logme($block,$ip,$type,$threat,$activity);
ozh_httpbl_blockme();
die();
}
}
}

function ozh_httpbl_logme($block = false, $ip=”, $type=”,$threat=”,$activity=”) {
$log = fopen(‘./block.log’,’a’);
$stamp = date(‘Y-m-d :: H-i-s’);
// Some stuff you could log for further analysis
$page = $_SERVER[‘REQUEST_URI’];
$ua = $_SERVER[“HTTP_USER_AGENT”];
if ($block) {
fputs($log,”$stamp :: BLOCKED $ip :: $type :: $threat :: $activity :: $page :: $uan”);
} else {
fputs($log,”$stamp :: UNBLCKD $ip :: $page :: $uan”);
}
fclose($log);
}

function ozh_httpbl_blockme() {
header(‘HTTP/1.0 403 Forbidden’);
echo <<<HTML
<script type=”text/javascript”>
function setcookie( name, value, expires, path, domain, secure ) {
// set time, it’s in milliseconds
var today = new Date();
today.setTime( today.getTime() );
if ( expires ) {
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );
} function letmein() {
setcookie(‘notabot’,’true’,1,’/’, ”, ”);
location.reload(true);
}
</script>
<h1>Forbidden</h1>
<p>Sorry. You are using a suspicious IP.</p>
<p>If you are NOT a bot of any kind please <a href=”javascript:letmein()”>click here</a> to access the page.</p>
HTML;
}

?>

Cambia “YOUR_API_KEY” in $apikey = ‘YOUR_API_KEY’; con la tua chiave API httpBL.

Carica il file nella stessa cartella di projecthp.php.

7. Le connessioni bloccate insieme agli IP verranno archiviate nel file block.log nella cartella principale del forum.

Puoi controllare gli IP elencati in questo file a http://www.projecthoneypot.org/search_ip.php

Lì vedrai il motivo del blocco dell’IP.

Condividi questo articolo