Un utente sconosciuto fa Spam con invio dai form del mio sito

Zorthan

Utente Attivo
24 Feb 2007
85
0
0
Ciao!:)
chiedo il vostro aiuto se possibile
Da un mio sito mi continuano ad arrivare spam . Un utente (è sicuramente sempre lo stesso) da un paio di mesi ha iniziato a "SPAMMARE" il sito mandandomi dati fittizi , intasandomi la mail di msg che non interessano a me e sono inutili per il mio sito.:(
Ecco un esempio di cosa mi arriva nel messaggio email

Grazie per avermi contattato ecco i tuoi dati: 1.titolo=zCKaPItwCTVwoMzoCDV 2.nome= uKcMDVbZrKVs 3.email= [email protected] 4.luogo=EaROzIoIvQpu:incazz2:

tutti i 4 dati (titolo, email..ecc) sono collegati a valori di variabili ovviamente incluse nei campi di testo come VALUE. quindi.
Il metodo che ho pèensato è di fare arrivare a lla mia mail solo gli "INVII" con una mail corretta inserita . Una mail che "ESISTA". come potete capire, quella mail è inventata.

domanda: è possibile fare un controllo della email con php?
Posto gli script:confused:

<?php


echo "<input type='text' name='titolo' value='$titolo' />";if ($_GET['er1']==1) echo "<span class=\"errore\">Manca il </span>"; else echo "&nbsp;";
echo "Sezione di Interesse*<br />
<br />
<input type='text' name='nome' value='$nome' />";if ($_GET['er2']==1) echo "<span class=\"errore\">Manca </span>"; else echo "&nbsp;";
echo "Il tuo nome* <br />
<br />
<input type='text' name='email' value='$email' />"; if ($_GET['er3']==1) echo "<span class=\"errore\">Manca </span>"; else echo "&nbsp;";
echo" La tua email* (<i>non verrà pubblicata se non lo richiedi</i>) <br />
<br />

<textarea rows='15' name='luogo' cols='40' value='$luogo' />

</textarea>
<input name='submit' type='submit' value='invia' />

<input type='hidden' name='submitted' value='yes' /> ";


il file post.php


$titolo = $_POST['titolo'];
$nome = $_POST['nome'];
$email = $_POST['email'];
$luogo = $_POST['luogo'];
if (empty($_POST['titolo']) ){
$er1 = 1;
}
if (empty($_POST['nome']) ){
$er2 = 1;
}
if (empty($_POST['email']) ){
$er3 = 1;
}

if (($er1 == 1) or ($er2 == 1) or ($er3 == 1))
header("Location: contatti.php?er1=".$er1."&er2=".$er2."&er3=".$er3);
else {

// qui metti le istruzioni x mandare la mail

echo"<p><span style='font-family: arial';>Grazie per avermi contattato!</span></br>";
echo "<span style='font-family: arial';><a href='contatti.php'>torna alla pagina precedente</a></span>";
$sender = "From: [email protected]";
$to = "[email protected], $email";
$sub = "Tuo Invio dati al sito xxxxxi.com";
$message=('Grazie per avermi contattato ecco i tuoi dati: 1.titolo='. $titolo.' 2.nome= '. $nome.' 3.email= '. $email.' 4.luogo='. $luogo);
$mail= mail($to, $sub,$message, $sender );

}
?>


IN POCHE PAROLE VORREI VERAMENTE CAPIRE COME FARE UN CONTROLLO SE L'EMAIL ESISTA VERAMENTE O MENO. E SE è FARLOCCA...DOVREBBE BLOCCARE L'INVIO, ANCHE ALLA MIA EMAIL:book:

vi prego, qualcuno che abbia già affrontato questo problema potrebbe darmi qualche suggerimento?:fonzie:
grazie mille

PAOLO:byebye:
 
ciao
poco tempo fa era capitato anche a me
ho risolto (almeno per ora) mettendo un captha al form.
se non hai le lib GD ho postato nelle funzioni php lo script che utilizzato (e che sembra funzionare):byebye:
 
potresti anche controllare le email tramite espressioni regolari per validarne il formato

PHP:
if (!eregi("^[a-z0-9][_\\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\\.)+([a-z]{2,4})", $_POST['email'])) {
echo "Indirizzo email non valido";
} else {
echo "Indirizzo email valido";
}
 
a prescindere che certi spammer andrebbero messi "su gardiga":D
volevo dirti che nel mio form avevo solo l'expr-reg, ma lo spammer non veniva bloccato. per quello ho messo una pseudo captha che richiede di fare o una somma o una sottrazione (random) tra due numeri random (formati da im .gif)
:byebye:
 

Discussioni simili