Un saluto a tutti. Ultimamente sono immerso da messaggi spam provenieni dal form email del mio sito, così ho pensato di implementare un codice di verifica captcha. Purtroppo non riesco ad effettuare il controllo del codice. Ho letto varie guide ma non ci sono riuscito. Vi sarei grato se mi dareste una mano. Vi ringrazio in anticipo:
Codice pagina di elaborazione:
codice:
<?PHP
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$url = $_POST['url'];
$mail = $_POST['mail'];
$testo = $_POST['testo'];
$oggetto = $_POST['oggetto'];
if(empty($nome) || empty($cognome) || empty($mail) || empty($testo)) {
echo "[img]layout/not_send.jpg[/img]<h2 class='t_center'>Compila tutti i campi del form</h2>\n";
die ("<h2 class='t_center'>Torna indietro!</h2>");
}
if(!$mail == "" && (!strstr($mail,"@") || !strstr($mail,".")))
{
echo "[img]layout/not_send.jpg[/img]<h2 class='t_center'>Inserisci un'email valida!</h2>\n";
$badinput = "<h2 class='t_center'>Messaggio non inviato!</h2>\n";
echo $badinput;
die ("<h2 class='t_center'>Torna indietro!!</h2>");
}
if (eregi('Seleziona', $oggetto)) {
die ("[img]layout/not_send.jpg[/img]<h2 class='t_center'>Seleziona il motivo del contatto!</h2>");
}
if(!$url == "" && (!strstr($url,"http://")))
{
echo "[img]layout/not_send.jpg[/img]<h2 class='t_center'>Inserisci un url valido completo di http://!</h2>\n";
$badinput = "<h2 class='t_center'>Messaggio non inviato!</h2>\n";
echo $badinput;
die ("<h2 class='t_center'>Torna indietro!!</h2>");
}
if (eregi('http:', $testo)) {
die ("[img]layout/not_send.jpg[/img]<h2 class='t_center'>E' vietato inserire url nel campo messaggio!</h2>");
}
$todayis = date("l, F j, Y, g:i a") ;
$oggetto = $oggetto;
$subject = $oggetto;
$testo = stripcslashes($testo);
/*Impostazioni messaggio amministratore*/
$message = "$todayis [EST] \n
Da: $nome ($mail)\n
Cognome: $cognome \n
Url: $url \n
Messaggio: $testo \n;
/*Impostazioni messaggio pubblico*/
$da = "From: $mail\r\n";
$dal_sito = "From: email@mysite.com"\r\n";
mail("email@mysite.com", $subject, $message, $da, $url);
mail("$mail\n","Conferma: messaggio inviato!","Gentile $nome, lo staff di ...., risponderà alla tua richiesta nel più breve tempo possibile.
Un saluto! ", $dal_sito);
?>
[img]layout/ok.jpg[/img]<h2 class="t_center">
Grazie per averci contattato: <?PHP echo $nome ?> ( <?PHP echo $mail ?> )
Un'email di notifica è stata inviata all'indirizzo sopra citato.</h2>
<p class="t_center">Torna indietro</p>
Pagina form:
codice:
<form method="post" action="send2.php">
* Nome:
<input type="text" name="nome" class="input_text" />
* Cognome:
<input type="text" name="cognome" class="input_text" />
* Email:
<input type="text" name="mail" class="input_text" />
* Motivo del contatto:
<select name="oggetto" size="1" class="input_text">
<option selected="selected">Seleziona</option>
<option>Voce 1</option>
<option>Voce 2</option>
<option>Voce 3</option>
<option>Voce 4</option>
</select>
Url completo di "http://" (solo per affiliazione):
<input type="text" name="url" class="input_text" />
* Messaggio:
<textarea name="testo" rows="4" class="textarea_module" cols="40"></textarea>
[img]captcha/code.php[/img]
Inserisci codice:
<input type="codice" name="codice" size="12" class="input_text">
<input type="submit" value="Invia" class="button" />
<input type="reset" name="Resetta" id="resetta" value="Ripristina" class="button" />
</form>
Codice captcha:
codice:
<?
session_start();
$stringa = md5(microtime());
$risultato = substr($stringa, 0, 5);
$immagine = imagecreatefromjpeg("bkgc.jpg");
$testo = imagecolorallocate($immagine, 255, 255, 255);
imagestring($immagine, 3, 20, 10, $risultato, $testo);
$_SESSION['CONTROLLO'] = $risultato;
header("Content-type: image/jpeg");
imagejpeg($immagine);
?>