- Home
- Categorie
- Coding e Sistemistica
- PHP
- Spam tramite form
-
@scwd said:
ecco vedi quello è un tipo di stampa a video, fai conto un qualche spammer ha un programma che legge l'html stampato a video è un casino per questo meglio delle immagini
Grazie
-
Guarda se vuoi puoi creartelo anche te, ti crei tante gif di piccolissime dimensioni, con delle lettere per esempio come quelle che usa hotmail o simili. Poi crei un array con dei nomi fai un random e ne fai uscire quante ne vuoi.
-
c'è un metodo semplicissimo, i robot non essendo intelligenti riempono tutti i campi input. te crei questo:
echo "<input name='antispam' type='text' id='antispam' value='' style='display:none'/>";
tramite lo stile l'input diventa invisibile ma il robot lo vede ugualmente e poi inserisci questo codice:
$antispam = $_REQUEST['antispam'];if ($antispam != '') { die("errore antispam"); }
solo il robot riempira l'input causando l'errore.
semplce no?
-
Carina anche questa idea Però potrebbe esserci un problemino... I robot li crea un essere umano purtroppo. Mi spiego: fai conto che un programmatore inserisce tra il suo programmino-spam anche il controllo se un campo è visibile o meno si ha di nuovo il problema perchè il programma salterà quell'input purtroppo
-
io ho risolto facendo così:
[php]
<input name="antispam" type="text" value="cinque-sette-otto-uno" disabled="disabled" />";<?php
$antispam = $_POST['antispam'];if ($antispam != "cinque-sette-otto-uno") { die("errore antispam"); }
?>
[/php]stai tranquillo che se il tuo sito non ha un traffico altissimo, nessun programmatore di bot si metterà di impegno per programmarne uno tale che riesca a bypassare questo controllo
-
anche come dice invert è corretto.. in pratica ti crei un captcha invisibile... fidati che gli spammer sono più alla ricerca di come satare il captcha che come aggirare questa trovata... che non so in quanti lo usano... io non ho spam.
-
Sisi avete ragione ovviamente, però dato che i programmatori lo sanno tutti che utilizzano sempre scorciatoie su scorciatoie potrebbero fare un solo programma completo una volta per tutte ^^ Chiaramente concordo con voi sul fatto che penso nessuno pensi di fare una cosa simile...
-
@Inverter said:
io ho risolto facendo così:
[php]
<input name="antispam" type="text" value="cinque-sette-otto-uno" disabled="disabled" />";<?php
$antispam = $_POST['antispam'];if ($antispam != "cinque-sette-otto-uno") { die("errore antispam"); }
?>
[/php]
Non risco a capire questo tipo di soluzione.
In pratica inserisco un campo di testo visibile precompilato con la stringa "cinque-sette-otto-uno", non modificabile e poi controllo che il bot non lo abbia compilato con una stringa diversa.
Ma se quel campo non è modificabile? Darebbe sempre "errore antispam"...Tra l'altro oggi ho avuto un messaggio spam dove i campi numerici (tramite javascript controllo che siano stati inseriti solo numeri) sono stati compilati con stringhe di lettere e il messaggio è partito lo stesso :():
-
@ciucciarello said:
Non risco a capire questo tipo di soluzione.
In pratica inserisco un campo di testo visibile precompilato con la stringa "cinque-sette-otto-uno", non modificabile e poi controllo che il bot non lo abbia compilato con una stringa diversa.
Ma se quel campo non è modificabile? Darebbe sempre "errore antispam"...Tra l'altro oggi ho avuto un messaggio spam dove i campi numerici (tramite javascript controllo che siano stati inseriti solo numeri) sono stati compilati con stringhe di lettere e il messaggio è partito lo stesso :():
l'input che ho scritto serve solo per leggere il codice di sicurezza, ed in effetti hai ragione, ho sbagliato nell'esempio.
Dovrebbe essere così:
[php]
<input type="text" value="cinque-sette-otto-uno" disabled="disabled" />";
<input type="text" name="antispam" />";<?php
$antispam = $_POST['antispam'];if ($antispam != "cinque-sette-otto-uno")
{
echo("errore antispam");
}
?>
[/php]
se poi il codice lo vuoi visualizzare sotto forma di input disabilitato o come semplice testo, questa è una scelta semplicemente stilisticaedit: per il messaggio di spam che hai ricevuto, penso che il problema stia nel fatto che il bot che ha inviato il messaggio non avesse i javascript abilitati e quindi il controllo è stato facilmente bypassatto. potresti risolvere mettendo un controllo fatto in php. Però sto andando ad intuito, non so un granchè sullo spam e sui bot
-
se metti questo codice invece l'input non appare nemmeno e forse è la cosa migliore
[php]
echo "<input name='antispam' type='text' id='antispam' value='' style='display:none'/>";
[/php]l'esempio è sempre con value vuoto ma se vuoi puoi riempirlo con quello che ti pare anche con cinque-sei-otto-uno
-
Sto provando la soluzione di tifo-milan.it.
Primo giorno, tutto ok