Re:
Scritto da: Etabeta3030 13/03/2007 18.19
una volta bastava mettere le validazioni e le classiche stringhe tipo htmlentities per evitare lo spam sui form, adesso è diventata una guerra...
hai provato a mettere quello script che chiede la convalida attraverso una stringa casuale vedibile solo dall'occhio umano (per verificare almeno che non sia un attacco in serie) ?
Grazie Etabeta,
ma queste stringhe? dove si inseriscono?
Posto lo script:
Per il primo è il file del form:
function checkform ( form ) {
if (form.nome.value == "") {
alert( "Il Nome è necessario." );
form.nome.focus();
return false ; }
if (form.cognome.value == "") {
alert( "Il cognome è necessario" );
form.cognome.focus();
return false ; }
if (form.email.value == "") {
alert( "L'indirizzo e-mail è necessario." );
form.cognome.focus();
return false ; }
if (form.messaggio.value == "") {
alert( "Il campo messaggio non può essere vuoto." );
form.messaggio.focus();
return false ; }
if (form.telefono.value != "") {
var anum=/(^\d+$)|(^\d+\.\d+$)/
if (anum.test(form.telefono.value)) { }
else{
alert("Il telefono deve essere solo un numero.")
form.telefono.focus();
return false ; }
}
return true ; }
</SCRIPT>###HO OMESSO LA PARTE HTML, tra le altre cose ho inserito l'obbligo di mettere l'email, nome e cognome, eppure non basta, poi il file che invia le email (quello invisibile all'utente:
<?
// mail per l'amministratore del sistema
$part1="Data: $data\n\n\n==================== DATI RICHIEDENTE\nNome: $nome\nCognome: $cognome\nIndirizzo e-mail: $email\n";
if ($telefono != "") { $part2="Telefono: $telefono\n\n\n"; }
if ($telefono == "") { $part2="Nessun numero di telefono\n\n\n"; }
$part3="==================== MESSAGGIO\n";
mail("EMAIL@XXX.com","Nuovo contatto da NOME SITO","$part1$part2$part3$messaggio","From: $email");
mail("EMAIL@XXX.com","Nuovo contatto da NOME SITO","$part1$part2$part3$messaggio","From: $email");
######
Questo è quanto, si può fare qualcosa?