Buongiorno a tutti.
Ho una sorta di guestbook in php molto semplice che ultimamente è inondato di spam. Voglio evitare di mettere il captcha
nel codice ci sono queste righe sulle quali sto lavorando:
if ($email!=""){ if (!validemail($email)) $error.="<br>» $txtbademail"; }
if ($msg=="") $error.="<br>» $txtbadmsg";
if ($msg=="http") $error.="<br>» $txtbadmsg";
if ($msg=="/") $error.="<br>» $txtbadmsg";
Ovvero: se il campo indirizzo mail è vuoto il commento non viene pubblicato e appare un messaggio di errore al visitatore. Idem per il commento se è vuoto.
Ora visto che lo spam che ricevo è solo pubblicità verso altri siti, ho pensato di aggiungere la
terza e la
quarta riga che in teoria dovrebbero bloccare tutti i commenti che contengono HTTP oppure il simbolo / per rendere così impossibile la pubblicazione di links e siti.
In teoria funziona se uno nel commento scrive
soltanto HTTP (oppure il simbolo / )
Ma nel momento che uno scrive
http://nomesito.ecc (quindi HTTP seguito da qualcos altro) il link viene pubblicato ugualmente.
Come faccio ad indicare nel codice di bloccare anche tutto ciò che preceda o segua HTTP (e non solo la parola HTTP)
spero di essermi spiegato bene
grazie a tutti