problema con mail e php

vladimiro

Nuovo Utente
15 Gen 2015
2
0
0
Buongiorno a tutti,
è il mio primo post qui, e spero di non cominciare male postando... nel posto sbagliato.

Vi spiego il mio problema:

per la pagina web utilizzo un form per ricevere messaggi, dove l'indirizzo email e il nome sono obbligatori.
Non mettendoli, non si può mandare il messaggio.
Evidentemente credevo, con questo, di evitare lo spam.
Invece mi arrivano messaggi spam... senza testo, senza nome, senza email.

Quindi automaticamente il form invia un messaggio di cortesia... facendo un grosso piacere allo spammer.

Come posso risolvere il problema?
(Non so se posso postare qui il codice del form.... non riesco a fare l'upload)

Grazie.
 

Oslino

Nuovo Utente
18 Gen 2015
4
0
0
Rimini
Immagino che il tuo form abbia i campi obbligatori indicati solo tramite l'attributo HTML "required". I robot degli spammer se ne fregano di quell'attributo inviando i messaggi direttamente allo script indicato nel "action" del form.
Purtroppo la validazione dei campi devi farla lato PHP (nello script "action") per risolvere il problema e devi aggiungere un captcha in Javascript, come detto da Altutto.
 

xone

Utente Attivo
4 Apr 2014
181
14
18
Salento
Io attualmente utilizzo una funzione del genere: crei un campo di testo chiedendo un risultato di un'addizione e con php verifichi se il risultato immesso è corretto. Se è corretto procedi con l'invio della mail altrimenti blocchi.

if ($antispam != "10") {
echo "<font color=\"#FF0000\">Attenzione: Il risultato dell'Operazione 7+3 non è corretto.</font>";
}else{
mail ($destinatario, $subject, $body, $headers);
}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
io mi sono fatto questo e per ora non mi posso lamentare (sono 5 anni che il form è in linea e l'ho usato anche per far scrivere commenti nella sezione delle foto)
PHP:
<?php
session_start();
function capta(){
	$lungo=3;//quanto deve essere lungo il codice
	//mi sono creato delle immaginette gif con i numeri da 0 a 9
	$imm=array('a.gif','b.gif','c.gif','d.gif','e.gif','f.gif','g.gif','h.gif','i.gif','l.gif');
	$codice="";
	$figura:"";
	//genero il codice
	for($c=0; $c<$lungo; $c++){
		$x=rand(0,9);//genero un numero rand da 0 a 9
		$codice .="".$x;//forzo a stringa altrimeni es 01 risulta 1
		//preparo l'immagine da visualizzare (non ho messo il percorso)
		$figura.="<img src=\"".$imm[$x]."\">";
	}
	//passo in sessione il codice lo complico con un semplice md5
	$_SESSION['codice']=md5($codice);
	return $figura;
}
//e qui leggo i dati dal form e se la sessione esiste
if(isset($_POST['invia']) && isset($_SESSION['codice'])){
	//verifico il valore della sesione con quanto dal form
	if($_SESSION['codice']!=md5($_POST['code']){
		//quanto invvito non corrisponde
		//azzero
		$_SESSION=array();
		//e riinvio al form
		header("location=$_SERVER['PHP_SELF']");//
		exit();
	}else{
		//tutti i controlli necessari e invio emil
	}
}
?>
<!--qui il form con i campi che servono-->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<!-- ...campi che servono... -->
scrivi il codice <?php echo capta(); ?><input name="code" type="text">
<br />
<input name="invia" type="submit" id="invia" value="invia">
</form>
volendo i numeri essendo immagini gif possono essere anche in movimento rendendo più difficile ai reader leggerli
 
Discussioni simili
Autore Titolo Forum Risposte Data
Marti1! Problema con casella mail cancellata Posta Elettronica 3
A [PHP] Problema invio mail con funzione mail() PHP 3
filomeni Problema con mail() in html PHP 4
S Problema con Mail PHP 3
L problema email con funzione mail PHP 1
F Problema con mail in SPAM Hosting 2
C problema invio mail con form php PHP 0
A Problema con mail() PHP 2
C AJAX FORM MAIL - problema con gli a capo nel messaggio Javascript 0
L Problema invio allegati via mail con libero PHP 5
P Problema con la funzione mail PHP 13
V Problema con l'invio delle mail in locale (usando quindi easy php) PHP 16
Angel0 Problema invio e-mail (era: problemi con xoom) Posta Elettronica 4
D Problema con allegato tramite form mail PHP 2
N problema:mail con allegato a piu utenti da db PHP 17
B Problema invio mail con script php verso i dominii libero PHP 9
H problema con mail e i relativi browser... PHP 0
G problema con mail() PHP 2
R Form Mail: Problema con Frame Supporto Mr.Webmaster 4
M problema con form mail Flash 2
A problema con mail PHP 0
djfulmine Problema con PHP e Server Mail PHP 1
A problema con invio e-mail con CDONTS Classic ASP 0
V problema con invio mail Hosting 2
L problema mail con asp Classic ASP 15
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1

Discussioni simili