Blocco Antispam Su form

macchiavelli.ivan

Utente Attivo
7 Dic 2012
67
0
0
Salve. Da un po di tempo a questa parte cè un tizio che si diverte a scrivere sul form del mio sito queste cose. (Metto un esempio in Allegato)

Ma perché lo fa? Si diverte male o ce un motivo?

Comunque mi potete consigliare un modo per bloccare queste cose che mi incasinano la posta?
Forse con delle espressioni regolari risolvo?
Grazie in anticipo.
 

Allegati

ciao
Ma perché lo fa? Si diverte male o ce un motivo?
questo è un mistero, ma se ti può consolare non passa giorno che non mi tocchi bannare qualcuno che invia messagi simili qui su mrwm.

potresti analizzare il testo con espressioni regolari e se trovi < a href="http:// ecc..... o simile non fare inviare e rimandare al form.
puo essere utile anche usare strip_tags (toglie i tag ma non blocca) eventualmene con l'elenco dei tag consentiti, es. <br>
 
ciao
puoi provare così (anche se spesso mi incasino con le espressioni regolari)

PHP:
<?php
//....
$testo=$_POST['nome_campo'];
if(preg_match("/\<a href=/",$testo) || preg_match("/http:/",$testo)){//e altre eventuali stringhe "proibite"
	//rimandi al form avvisando che non è possibile inserire link
}else{
	//fai quello che devi fare
}
//....
?>
 
ciao
puoi provare così (anche se spesso mi incasino con le espressioni regolari)

PHP:
<?php
//....
$testo=$_POST['nome_campo'];
if(preg_match("/\<a href=/",$testo) || preg_match("/http:/",$testo)){//e altre eventuali stringhe "proibite"
	//rimandi al form avvisando che non è possibile inserire link
}else{
	//fai quello che devi fare
}
//....
?>

Scusa ma non dovrebbe esssere il contrario questa if?



PHP:
<?php
//....
$testo=$_POST['nome_campo'];
if(preg_match("/\<a href=/",$testo) || preg_match("/http:/",$testo)){//e altre eventuali stringhe "proibite"
	//TESTO CONSENTITO
}else{
	//fai quello che devi fare
}
//....
?>

oppure il
HTML:
\
dopo il
HTML:
/
di apertura corrisponde a una negazione?
 

Discussioni simili