Salve a tutti...
volevo chiedere una mano in questo senso.
attraverso questo invia_mail.php ricevo il risultato del form.
in Pratica c'e' un database dove c'e' il contatore dei form inviati quindi ad es
Richiesta n° IT 309/0809
dove quel 08/09 viene preso dalla data quindi
$data = date('dm');
Fin qui tutto bene.....
Da un paio di giorni ricevo i form compilati fhgfhhgfhgfd@nomemiosito.it
20/25 mail di fila con caratteri a caso compilati in un decimo di secondo
in pratica e' come se uno direttamente facesse partire lo script con un robot (ovviamente non e' uno che compila il form a mano)
Ho notato infatti che se io faccio www.miosito.it/invia_mail.php arriva la mail vuota.
Presumo sia un bug che uno puo' sfruttare
Quale protezione potrei mettere?
codice:
<?php
include("connect.inc.php");
$connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
$immagine="images/header.gif";
include ("header.php");
$lang = "Richiesta n° IT";
$data = date('dm');
$query="SELECT * FROM $tablename ORDER BY id DESC";
$result=mysql_query($query, $connect);
$row = mysql_fetch_array($result);
$conta= $row[contatore];
$conta=$conta+1;
$modifica = "UPDATE $tablename SET contatore='$contarequest'";
$esegui =mysql_query($modifica, $connect);
$Oggetto = $lang.$contarequest."/".$data;
$pren=$contarequest."/".$data;
echo "<link href='text.css' rel='stylesheet' type='text/css'>";
echo "<p align='left'><font face='Verdana' size='2' color='white'>";
echo " Il form è stato compilato in maniera corretta.
";
echo " La richiesta essere la seguente:
$Oggetto
";
echo " Nome: $nome
";
echo " E-Mail: $indmail
";
echo " Note: $note
";
include ("footer.php");
$to = "mail@mioindirizzo.it";
$body ="";
$body = $body."Nome: $nome\nEmail: $indmail\n";
$body = $body."Note:$note\n";
$body = $body."\n\n";
$body = $body."\n\n";
$emailheaders = "From: " . $nome . "<". $indmail . ">\nReply-To: " . $indmail;
mail($to,$Oggetto,$body,$emailheaders);
mysql_close($connect);
?>