applicare filtro anti spam

asevenx

Utente Attivo
7 Nov 2009
312
0
16
salve, vorrei applicare un filtro antispam per un guestbook di un sito. Quindi vorrei con un ciclo if impedire l'inserimento di messaggi che contengono determinate parole o creare una "lista nera" delle parole che non si possono usare nel guestbook. Qualcuno può darmi una dritta?

PS: vorrei evitare l'utilizzo di login, di password d'accesso o controlli captcha, ma inserire semplicemente dei controlli sul messaggio inserito. grazie mille
 
Ultima modifica:

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ti ho fatto un esempio

PHP:
$lista_nera = array('vietata 1' => 'parola1', 'vietata 2' => 'parola2', 'vietata 3' => 'parola3');

foreach($lista_nera as $parola)
if(str_replace($lista_nera[$parola],'not valid',$_POST['messaggio'])) echo $lista_nera[$parola] . "è vietata<br>";
 

asevenx

Utente Attivo
7 Nov 2009
312
0
16
ciao, ti ringrazio per la risposta, non capisco bene la composizione della lista nera. Cosa sono "vietataX" e "parolaX"? Comunque a forza di provare sono riuscito a trovare (5 min fa) una soluzione, non sarà molto elegante ma per il momento sembra che vadi, secondo te può essere efficacie?
PHP:
$spam = array("parola1", "parola2", "parola3", "parola4", "parola5", "parola6", "parola7", "parola8");
$antispam = "XXX";
$filtro = str_replace($spam, $antispam, $commento);

$verifica = substr_count($filtro, $antispam);

if ($verifica > 0) {
	echo "filtro antispam attivo";
}else{
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Devi usare un foreach come ti ho fatto vedere, $spam è un array quindi vanno richiamate le variabili della sua lista
non basta mettere solo la variabile
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
@ Nefyt
sei sicuro?
http://it2.php.net/manual/en/function.str-replace.php
str_replace, se non sbaglio, può contenere anche degli array, il tuo sistema va bene se voglio far vedere quale è la parola sostituita

@ asevenx
se guardi il link vedi che dalla ver 5 è stato aggiunto un parametro che conta il numero dei "rimpiazzi"
PHP:
<?php
//....
$spam = array("parola1", "parola2", "parola3", "parola4", "parola5", "parola6", "parola7", "parola8"); 
$antispam = "XXX"; 
$filtro = str_replace($spam, $antispam, $commento, $verifica); 
//$verifica = substr_count($filtro, $antispam); 
if ($verifica > 0) { 
    echo "filtro antispam attivo"; 
}else{
//..... 
?>
poi usa str_ireplace (case insensitive) così sostituisci sia (es) parola1 che pAroLa1
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
ciao
@ Nefyt
sei sicuro?
http://it2.php.net/manual/en/function.str-replace.php
str_replace, se non sbaglio, può contenere anche degli array, il tuo sistema va bene se voglio far vedere quale è la parola sostituita

@ asevenx
se guardi il link vedi che dalla ver 5 è stato aggiunto un parametro che conta il numero dei "rimpiazzi"
PHP:
<?php
//....
$spam = array("parola1", "parola2", "parola3", "parola4", "parola5", "parola6", "parola7", "parola8"); 
$antispam = "XXX"; 
$filtro = str_replace($spam, $antispam, $commento, $verifica); 
//$verifica = substr_count($filtro, $antispam); 
if ($verifica > 0) { 
    echo "filtro antispam attivo"; 
}else{
//..... 
?>
poi usa str_ireplace (case insensitive) così sostituisci sia (es) parola1 che pAroLa1
$spam senza la corrispondete variabile $spam['var'] da come risultato "array" anche a stamparlo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
prova
PHP:
<?php
$commento="questo testo contiene parola2 e parola5";
$spam = array("parola1", "parola2", "parola3", "parola4", "parola5", "parola6", "parola7", "parola8"); 
$antispam = "XXX"; 
$filtro = str_replace($spam, $antispam, $commento, $verifica); 
//$verifica = substr_count($filtro, $antispam); 
if ($verifica > 0) { 
    echo "filtro antispam attivo ";
	echo "testo filtrato: $filtro <br>";
}else{
	echo "no proibite: $filtro <br>";
}
?>
output
filtro antispam attivo testo filtrato: questo testo contiene XXX e XXX
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Con Photoshop per applicare la Nitidezza (Filtro>Nitidezza) Photoshop 1
giannit [PHP] Applicare natsort usando un array PHP 12
ANDREA20 Creare carrello della spesa e applicare uno sconto E-Commerce 6
asevenx trasparenza da non applicare allo sfondo HTML e CSS 3
V Applicare un effetto di transizione tra due activity Sviluppo app per Android 1
M Applicare funzione php ad ogni elemto html Ajax 3
T applicare un effetto MOUSEOVER su uno SHORTCODE generato da plugin in WORDPRESS jQuery 6
T é possibile applicare HTML ad uno SHORTCODE? HTML e CSS 0
T applicare un effetto MOUSEOVER su THUMBNAILS generati da SHORTCODE WordPress 0
F Applicare uno stile css ad una sola parola HTML e CSS 5
M Livevalidation: applicare validazione solo se si sceglie una option di una select. Javascript 0
M applicare filigrana ad una miniatura PHP 8
W Applicare modello alle pagine con Dreamweaver mx Webdesign e Grafica 0
A applicare un texture di sfondo omogeneo HTML e CSS 3
A applicare logo.psd ad un filmato Webdesign e Grafica 1
A consigli su come applicare maschera costruta con photoshop Photoshop 3
N Applicare stili in asp Classic ASP 1
M Applicare xsl in html Ajax 5
G Come applicare formattazione classe ad un tag già formattato? HTML e CSS 3
I Applicare "involucro" al testo? Flash 0
A filtro su tabella jQuery 3
Q Filtro effetti di luce Photoshop 1
R Filtro multiplo di selezione Sql PHP 2
motleyrulez Ricerca filtro con Ajax PHP 1
Shyson Spostare filtro php di WordPress WordPress 0
felino Filtro Aqua FP3 9" 3/4: quale cartuccia scegliere? Discussioni Varie 0
J [MS Access] Filtro su combo in sottomaschera MS Access 11
C filtro rendering effetti di luce photoshop Photoshop 0
H [Photoshop] Filtro Nik Dfine non funziona. Photoshop 1
V Semplice barra di ricerca con filtro categorie prodotti E-Commerce 0
M [PHP] Filtro da TXT con collegamento ipertestuale PHP 13
M [PHP] o [APACHE] - Filtro geo per accesso sito PHP 6
S [PHP] filtro PHP 25
R Filtro login tramite mac-address su apache2 SSL Apache 1
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
myblacksloth Filtro di ricerca Java Java 0
A [Photoshop] Problema filtro fluidifica Photoshop 1
webmachine [JS] Filtro Prodotti jQuery 5
I [Photoshop] Che filtro è questo? Photoshop 1
P Filtro selettore e variabile jQuery 2
M [PHP - MYSQL] Mantenere filtro query in tabelle paginate PHP 3
P Filtro dipinto a olio Photoshop CC Photoshop 1
B Filtro per advanced custom fields WordPress 0
G Filtro per record sottomaschera MS Access 8
J Creare un filtro Javascript 24
I filtro tabella between and / or PHP 8
I Datagrid Jquery PHP, mi servirebbero alcune soluzioni... Insrimento immagine e filtro PHP 2
D Filtro su una datagridview ASP.NET 1
I Filtro maschera tramite combobox Database 0
C Creare un filtro in base alle checkbox selezionate Javascript 15

Discussioni simili