- Home
- Categorie
- Coding e Sistemistica
- PHP
- §Form php...invaso dallo spam
-
Chiedo scusa a nome del Forum per il comportamento di Thedarkita. L'utente è stato bannato per 7 giorni in modo che possa capire la gravità di quello che ha detto e possa riflettere, prima di tornare a postare in un forum come questo.
-
Ragazzi, volevo sapere una cosa.
Per bloccare le spam se mettessimo un bloccaspam matematico?
Cioè, genera due numeri normali non con immagini e per passare il commento si deve fare la somma?
Tipo: 2 + 3= ?
Se non sbaglio c'è qualcosa di simile nel web, non ricordo il blog dove l'ho letto, forse da Weppos
-
sì, se la somma non è complessa a mio avviso sarebbe una buona idea.
però sempre sul genere numero_inferiore_a_dieci_1 + numero_inferiore_a_dieci_2 = somma
-
Yes, una cosa di quel tipo, tanto lo spam automatico lo fermerebbe uguale
-
Questa soluzione è sicuramente migliore dell'immagine con il testo distorto.
Resta però, il problema della risposta casuale che può fornire il robot.
-
Ottima idea Giorgio...come ho fatto a nn pensarci?
La integro subito nel mio sito e poi se ho tempo posto il relativo codice php...
-
Quando hai integrato... fai un fischio,
son curiosa di provare
-
Se non sbaglio c'è qualcosa di simile nel web, non ricordo il blog dove l'ho letto, forse da Weppos
Era se non sbaglio un messaggio di brag, sul gt forum.Lui l'ha integrato in questo modo:
http://www.studiamo.it/forum/profile.php?mode=register&agreed=true(nota il Qual è il nome della capitale d'Italia?: * )
-
Ho creato lo script (funziona,molto carino :D)
Per cominciare ho creato la pagina verifica.php e ho messo al suo interno il seguente codice:[php]
<?php /* Alcuni parametri configurabili / $boxW=128; // Larghezza immagine $boxH=32; // Altezza immagine $codelen=6; // Lunghezza del codice $snow=4; // effetto neve 0=no, o intero % copertura / Dichiara che lo stream trasmesso �un file immagine PNG / header("Content-Type: image/png"); / inizializza il generatore di numeri casuali / srand((double)microtime()1000000); session_start(); / Crea un codice di verifica casuale e lo immagazzina nella sessione in modo che processform.php possa recuperarlo / $num1=rand(0,10); $num2=rand(0,10); $somma=$num1+$num2; $string="$num1 + $num2"; $_SESSION[somma] = $somma; / Creazione immagine di dimesioni $boxW x $boxH / $im = ImageCreate($boxW, $boxH); / Colori / $white = ImageColorAllocate($im, 255, 255, 255); $black = ImageColorAllocate($im, 0, 0, 0); / Riempie lo sfondo di nero / ImageFill($im, 0, 0, $black); / seleziona un font a caso tra quelli di sistema / $font=rand(3,5); / Calcola ampiezza scritta / $w=strlen($string)ImageFontWidth($font); $h=ImageFontHeight($font); / Posizione casuale / $x=rand(1,($boxW-$w-1)); $y=rand(1,($boxH-$h-1)); / scrive nell'immagine la stringa di controllo / ImageString($im, $font, $x, $y, $string, $white); / output al browser/ ImagePNG($im); / Distruggo l'immagine in memoria */ ImageDestroy($im); ?>[/php]
Poi nella pagina che deve verificare la corretta digitazione,ho messo:[php]
<?
session_start(); ?> <form action='' method='POST'>
<img src='verifica.php'>
<br> Scrivi nello spazio sottostante la somma tra i numeri sopra visualizzati:<br>
<input type='text' name='vercode'> <br><br> <input type='submit' value='Invia'><input type='hidden' name='clicked'> <? if (isset($_POST[clicked])){
if($_POST[vercode] == $_SESSION[somma]){echo "<br><br><font color='green'>Ok,il codice inserito è esatto</font>";}else{ echo "<br><br><font color='red'>Il numero digitato non corrisponde alla somma dei numeri dati</font>";}} ?>
[/php]
-
Ho creato anche un'altra versione dello script per chi ha le sessioni disabilitate sul server però nn so se funziona...
[php]
<?php/* Alcuni parametri configurabili */
$boxW=128; // Larghezza immagine
$boxH=32; // Altezza immagine
$codelen=6; // Lunghezza del codice
$snow=4; // effetto neve 0=no, o intero % copertura/* Dichiara che lo stream trasmesso �un file immagine PNG */
header("Content-Type: image/png");/* inizializza il generatore di numeri casuali */
srand((double)microtime()*1000000);
$num1=rand(0,10);
$num2=rand(0,10);
$somma=$num1+$num2;
$string="$num1 + $num2";/* Creazione immagine di dimesioni $boxW x $boxH */
$im = ImageCreate($boxW, $boxH);/* Colori */
$white = ImageColorAllocate($im, 255, 255, 255);
$black = ImageColorAllocate($im, 0, 0, 0);/* Riempie lo sfondo di nero */
ImageFill($im, 0, 0, $black);/* seleziona un font a caso tra quelli di sistema */
$font=rand(3,5);/* Calcola ampiezza scritta */
$w=strlen($string)*ImageFontWidth($font);
$h=ImageFontHeight($font);/* Posizione casuale */
$x=rand(1,($boxW-$w-1));
$y=rand(1,($boxH-$h-1));/* scrive nell'immagine la stringa di controllo */
ImageString($im, $font, $x, $y, $string, $white);/* output al browser*/
ImagePNG($im);/* Distruggo l'immagine in memoria */
ImageDestroy($im);?>[/php]
[php]
<form action='' method='POST'>
<?
include("verifica.php");
?>
<br> Scrivi nello spazio sottostante la somma tra i numeri sopra visualizzati:<br>
<input type='text' name='vercode'> <br><br> <input type='submit' value='Invia'><input type='hidden' name='clicked'> <? if (isset($_POST[clicked])){
if($_POST[vercode] = $somma){echo "<br><br><font color='green'>Ok,il codice inserito è esatto</font>";}else{ echo "<br><br><font color='red'>Il numero digitato non corrisponde alla somma dei numeri dati</font>";}} ?> [/php]
-
Altra cosa da non trascurare nell'implementazione di form,
è quella di associare in maniera esplicita le etichette ai rispettivi controlli,
in modo che anche il cieco assoluto possa compilare facilemente il modulo.
Questa cosa è molto molto importante.
-
Sto' cercando di rendere accessibili due form d'iscrizione che come sistema antibot attualmente usano un visual captcha, ma che è un ostacolo insormontabile per i non vedenti. Ho trovato anche degli audio visual captcha, ma mi sembrano eccessivamente complicati.
Poichè su un forum PhpBB e su un guestbook ho adattato degli script dedicati semplicissimi già pronti che usano il sistema della domanda "veramente facile" (tipo: qual'è la capitale d'Italia) ed un campo in cui inserire la risposta che viene confrontata con quella inserita, pensavo di adottare un sistema simile anche sui form, ma fino ad ora non sono riuscito a trovare uno script già pronto.
Avete qualche suggerimento/link oppure qualche idea su soluzioni diverse.
Grazie in anticipo
-
Grandi ragazzi
devo cambiare la mia soluzione di vBulletin, non penso sia il massimo attualmente. Appena finirò con tutte le cose partirò con un progetto sull'accessibilità ed usabilità di questo Forum, per migliorarlo al massimo
-
Finalmente ho terminato il mio primo form (grazie Hogudo, grazie Massy ) tutto bello, validato online sia w3c xhtml che wcag priority 1, 2 e 3, ma sta maledetta captcha che distrugge tutto il lavoro fatto non so' proprio come toglierla. Se la tolgo ricevo una montagna di spam al giorno, se la lascio è come prendere in giro tutti quelli che hanno problemi di vista
Per adesso ho aggiunto una nota in cui avviso di contattarmi in caso di difficoltà a visualizzare l'immagine, ma è una soluzione che proprio non mi piace.
Continuo a cercare qualcosa di pronto da adattare allo scopo; quando/se lo trovo avviso.
-
si in questo modo con le richieste di somme anche se semplici e facili domande di geografia si permette l'accesso ai non vedenti e di questo ne sono convinto, ma come la mettiamo con i semi alfabeti, cioè quelli che hanno deficit cognitivi e sanno solo leggere e scrivere, ma mancano di cultura di base, come geografia e cose simili??
Volevo chiedervi, ma se uno permette di registrarsi tramite l'inserimeto di un codice letto in un immagine distorta che solitamente viene definito captcha, non può essere che se richiesto una sola volta, il non vedente si può far aiutare solo la prima volta da un vedente e poi cavarsela da solo? Una volta autenticato, può postare quanto vuole e poi cavarsela da solo.
Cioè io chiedo questo, perchè sono un docente di sostegno, e alunni delle scuole medie che navigano ne conosco, ma vi assicuro che anche se hanno 14 anni non hanno la benchè minima idea di quale sia la capitale dell'italia nè per esempio che essa si scriva con la lettera maiuscola...
Inoltre io credo, non linciatemi, che molto spam inizialmente viene realizzato copiando moduli (a mano con un operatore umano) e poi dandoli in pasto ai software automatici, ebbene se uno si accorge che il modulo richiede l'inserimento di una somma di due numeri inferiori a 10 cioè il massimo può essere 10+10, che gli costa inviare quella richiesta 20 volte provando tutti i numeri, tanto sono pochi!! POi se l'operatore si accorge che basta inserire la parola sempre uguale "Roma" allora ne invia a migliaia di spam. Forse mi sbaglio...
-
Volevo chiedervi, ma se uno permette di registrarsi tramite l'inserimeto di un codice letto in un immagine distorta che solitamente viene definito captcha, non può essere che se richiesto una sola volta, il non vedente si può far aiutare solo la prima volta da un vedente e poi cavarsela da solo? Una volta autenticato, può postare quanto vuole e poi cavarsela da solo.
Credo che il motivo sia da ricercarsi sul fatto che a volte, inspiegabilmente, alcune persone diversamente abili non amino sentirsi anche sceme (parole mie). Quindi se hanno anche solo una possibilità su 10 di fare da sole e noi gliela togliamo, magari, inspiegabilmente, si incazzano.
se uno si accorge che il modulo richiede l'inserimento di una somma di due numeri inferiori a 10 cioè il massimo può essere 10+10, che gli costa inviare quella richiesta 20 volte provando tutti i numeri, tanto sono pochi!!
Il discorso è quello del compromesso. Più capre e cavoli salviamo, meglio è.
Però preferisco avere un utente in più sul sito a costo di 50 messaggi di spam
Una cosa simile è per i cd. Milioni per sistemi anticopie, ma da quello che si legge sul web sembra che i pirati siano sempre un passo avanti.
Il senso del controllo è togliere un po' di spam, l'eliminazione non mi pare possibile oggi.
-
Sicuro, ma i non vedenti ti assicuro che per quanto si sentano frustrati, lo sanno di essere dipendenti. Una minima indipendenza l'acquistano a pochi passi alla volta, ma molto spesso ricorrono ai vedenti per tante azioni anche le più quotidiane.
Di fronte ad un paesaggio, o anche una pagina web, amano farsi descrivere le visioni, e le sensazioni, che si provano. Forse l'unica cosa che manca a internet è la multi sensioralità. Un paesaggio anche se non visto può comunicare odori e rumori, una pagina web no.Ora un utente, cieco comprenderà che su sito, per evitare tanto dannosissimo spam, si imponga una lettura di un codice, (basta avvertirli che è l'unica tecnica efficace). Perchè sono convinto che altri metodi alternativi (ai quali mi ispiro sempre) in questo caso non valgano. Se coinvolgo uno escludo un altro. E' sempre questo il discorso dell'accessibilità.
Sempre a proposito di alternative si potrebbe proporre per il vedente il codice casuale distorto, e per il non vedente una richiesta diversa ed alternativa.
-
@Giorgiotave said:
Ragazzi, volevo sapere una cosa.
Per bloccare le spam se mettessimo un bloccaspam matematico?
Cioè, genera due numeri normali non con immagini e per passare il commento si deve fare la somma?
Tipo: 2 + 3= ?
Se non sbaglio c'è qualcosa di simile nel web, non ricordo il blog dove l'ho letto, forse da Weppos
Questo sistema c'è su una versione straniera di wikipedia per modificare le pagine, mi pare su quella tedesca.
-
@cmsv
e solo da pochi giorni che sto' esplorando l'argomento, per cui scusami. Ma mi chiedo alcune cose in base a quanto da te affermato:cioè quelli che hanno deficit cognitivi e sanno solo leggere e scrivere, ma mancano di cultura di base, come geografia e cose simili
come queste persone riescono ad utilizzare il web?
Su quali basi, per fare che cosa?Non ho nessuna esperienza, ma l'argomento mi sta coinvolgendo. Capisco che è estremamente complesso e che necessita di solide basi....cercherò di studiare
@hugudo
si, è esattamente come dici tu:Credo che il motivo sia da ricercarsi sul fatto che a volte, inspiegabilmente, alcune persone diversamente abili non amino sentirsi anche sceme (parole mie). Quindi se hanno anche solo una possibilità su 10 di fare da sole e noi gliela togliamo, magari, inspiegabilmente, si incazzano.
ho ricevuto una email da qualcuno che si lamentava e mi spiegava le sue difficoltà
Domani, visto che mi aveva dato la sua disponibilità, gli chiedo di farmi un check del form e poi vi faccio sapere.
(un po' mi vergogno....caro amico....c'è ancora questo ostacolo [captcha] solo per quelli come te...che giudizio mi dai della procedura alternativa....bahhh, mi sento un verme
-
@hogudo said:
Credo che il motivo sia da ricercarsi sul fatto che a volte, inspiegabilmente, alcune persone diversamente abili non amino sentirsi anche sceme (parole mie).
Credo che il motivo sia da ricercarsi sul fatto che a volte,
alcune persone disabili, non amino sentirsi handicappate (parole mie).Tutto è più chiaro e meno "inspiegabile"
solo se si prende in considerazione la nostra carta costituzionale,
il diritto di essere uguale agli altri;
il più possibile vicino agli altri nella partecipazione sociale.
Quindi se hanno anche solo una possibilità su 10 di fare da sole e noi gliela togliamo, magari, inspiegabilmente, si incazzano.
E se si tratta di una Pubblica Amministrazione, si incazzano ancora di più