View Full Version : guestbook in PHP invaso dallo spam su server aruba
ho fatto un guestbook, anzi 2 per due siti, e dopo un po' sono stati invasi da messaggi di spam...
esempio qui guestbook invaso (http://www.absu.net/guestbook3.php?id=8) ho provato a cambiare nomi ai campi del GB ma dopo un paio di giorni tutto è tornato come prima..
qualche consiglio?
Xalexalex
19-03-2006, 09:37
Secondo me stanno provando a defacciarti il sito...
Si appoggia su database o files di testo?
Ciao,
Alex
P.S.: Cosa vuol dire "ho cambiato i campi del GB?? Stava per DB=DataBase?
pasticca
19-03-2006, 09:41
che guestbook hai utilizzato??
se non ha un plugin x filtro antispam c'è poco da fare...
allora
pare che l'unica soluzione sia utilizzare un sistema CAPTCHA
link :
http://www.webwizguide.info/asp/sample_scripts/web_wiz_CAPTCHA.asp
ho cambiato i campi del DB , cioè city rinominata e cosi via ma ovviamente conta poco...
il guestbook l'ho implementato io, in php, appoggiandomi su un server mysql di aruba.
allora
aggiornamento :
con il captcha si risolve...
solo che io sto in hosting win su aruba e nn supporta le librerie GD!
quindi o cambio e passo a hosting linux, oppure posso utilizzare ASP, solo che il guestbook è fatto in php... come fare per far funzionare sto captcha relativametne al controllo senza riscrivere il guestbook??
includere il check con una pagina asp dentro una pagina php? cosi è impossibile misà..
suggerimenti please! :)
jake.afc
22-03-2006, 19:11
ti servono 3 cose:
1- una funzione che tenga il log degli eventi, riportando l'ip di chi ha piazzato il messaggio. (il mio guest www.jake-afc.net/guestbook mi manda una mail!).
2- uno script che ti consenta di bannare dal guestbook. Se ad esempio vedi che è sempre il solito ip che spamma, lo metti in lista ed è bannato.
3- (opzionale) uno script che ti 'generi' un codice-immagine da includere nella pagina con la form, e poi modificare il codice affinchè la procedura di inserimento venga bloccata nel caso l'utente non inserisca il codice esatto. tuttavia quest'operazione è piuttosto complessa...
<?php
/*BANNAIP.php by JaKe*/
$iptoban[1] = "195.225.176.77"; //Array di IP bannati
$totalbanned = 1; //Numero di IP bannati
$ipaddress = $_SERVER['REMOTE_ADDR']; //IP Utente
$c = 0;
while($c < $totalbanned) //Ciclo per controllare se l'ip è bannato
{
if($ipaddress == $iptoban[$c+1])
$banned = true;
$c=$c+1;
}
if($banned == true) //se è bannato apre la pagina d'errore
{
$notificaban=$ipaddress.", Sei stato BANNATO da qui. Vattene!<br>".$ipaddress.", you have been BANNED from here. Go away!";
header ("Location: error.php?msg=$notificaban"); //redirect in caso di ban
die;
}
//################## ANTI SPAM CODE SYSTEM v.1.0 by JaKe ######################//
//Questo file va incluso nella form d'inserimento, dove si vuole far vedere il codice.
//compilare dettagliatamente i campi qui sotto, si deve definire un valore per ogni immagine,
//e i relativi nomi, formati, quantità.
$codice[1]="testoimmagine1"; //definisce i valori associati alle immagini
$codice[2]="testoimmagine2"; //c.s.
$codice[3]="testoimmagine3"; //c.s.
$imgext=".gif"; //definisce il formato delle immagini
$imgname="codice"; //definisce il nome delle immagini
$scelta=rand(1, 3); //genera un numero casuale tra 0 e n;
//----------------------- engine ----------------------
echo "<img src=\"$imgname$scelta$imgext\">"; //mostra l'immagine
echo "<INPUT NAME=\"codicerandom\" TYPE=\"hidden\" VALUE=\"$codice[$scelta]\">"; //setta un parametro hidden della form-
//-con il valore associato all'immagine
//questo codice va copiato nel file che processa la richiesta di <form target="...">
//if ( $<campoform> != $codicerandom )
//{
//echo "Il codice inserito non è valido!";
//die;
//}
?>
Se riesci a implementarlo dovrebbe funzionare! Ricordati di creare delle immagini con scritte distorte e confuse, altrimenti alcuni bot potrebbero riconoscerle!
Buon divertimento!
ti servono 3 cose:
1- una funzione che tenga il log degli eventi, riportando l'ip di chi ha piazzato il messaggio. (il mio guest www.jake-afc.net/guestbook mi manda una mail!).
2- uno script che ti consenta di bannare dal guestbook. Se ad esempio vedi che è sempre il solito ip che spamma, lo metti in lista ed è bannato.
3- (opzionale) uno script che ti 'generi' un codice-immagine da includere nella pagina con la form, e poi modificare il codice affinchè la procedura di inserimento venga bloccata nel caso l'utente non inserisca il codice esatto. tuttavia quest'operazione è piuttosto complessa...
<?php
/*BANNAIP.php by JaKe*/
$iptoban[1] = "195.225.176.77"; //Array di IP bannati
$totalbanned = 1; //Numero di IP bannati
$ipaddress = $_SERVER['REMOTE_ADDR']; //IP Utente
$c = 0;
while($c < $totalbanned) //Ciclo per controllare se l'ip è bannato
{
if($ipaddress == $iptoban[$c+1])
$banned = true;
$c=$c+1;
}
if($banned == true) //se è bannato apre la pagina d'errore
{
$notificaban=$ipaddress.", Sei stato BANNATO da qui. Vattene!<br>".$ipaddress.", you have been BANNED from here. Go away!";
header ("Location: error.php?msg=$notificaban"); //redirect in caso di ban
die;
}
//################## ANTI SPAM CODE SYSTEM v.1.0 by JaKe ######################//
//Questo file va incluso nella form d'inserimento, dove si vuole far vedere il codice.
//compilare dettagliatamente i campi qui sotto, si deve definire un valore per ogni immagine,
//e i relativi nomi, formati, quantità.
$codice[1]="testoimmagine1"; //definisce i valori associati alle immagini
$codice[2]="testoimmagine2"; //c.s.
$codice[3]="testoimmagine3"; //c.s.
$imgext=".gif"; //definisce il formato delle immagini
$imgname="codice"; //definisce il nome delle immagini
$scelta=rand(1, 3); //genera un numero casuale tra 0 e n;
//----------------------- engine ----------------------
echo "<img src=\"$imgname$scelta$imgext\">"; //mostra l'immagine
echo "<INPUT NAME=\"codicerandom\" TYPE=\"hidden\" VALUE=\"$codice[$scelta]\">"; //setta un parametro hidden della form-
//-con il valore associato all'immagine
//questo codice va copiato nel file che processa la richiesta di <form target="...">
//if ( $<campoform> != $codicerandom )
//{
//echo "Il codice inserito non è valido!";
//die;
//}
?>
Se riesci a implementarlo dovrebbe funzionare! Ricordati di creare delle immagini con scritte distorte e confuse, altrimenti alcuni bot potrebbero riconoscerle!
Buon divertimento!
ti ringrazio.. si sto cercando di implementare un sistema catpcha, questo della immagine. solo che il mio hosting è win, e quindi su aruba nn supporta la libreria grafica GD. quindi posso farlo in asp, integrando l'immagine generata dal codice asp tramite un javascript nella pagina php. .una bella rottura ma dovrebbe funzionare!
usero' cmq il tuo codice banna ip anche se sono convinto che sti bot lo cambino in continuazione! so professionisti questi :)
jake.afc
23-03-2006, 11:49
mah, quel sistema non mi convince, le immagini sono troppo pulite, in genere i codici non sono parole esistenti... davvero è generato tramite GD ho ha solo un grosso pacco di immagini prefatte?
I bot, a meno che non usino un proxy, credo non possano usare tutti gli ip che vogliono. Ad esempio quello che vedi bannato era un maledetto ukraino che continuava a spammare. Da quando ho incluso bannaip.php nella pagina non s'è più visto :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.