Recentemente ho installato community builder, e relativo plugin per la creazione dei capthca....
sono pero' rimasto un po' deluso della sua implementazione che ho giudicato molto insicura...font a grandezza fissa, nessuna rotazione del testo e nessun posizionamento casuale dei caratteri,ecc
Ho deciso quindi di effettuare alcune modifiche che dovrebbero renderla senz'altro piu' sicura.
1 posizionamento casuale sull'asse x e y del testo
2 rotazione random della stringa di testo da -15° a +15°
3 deformazione stile "onda" per rendere ancora piu' difficile le operazioni di cracking
per implementare le seguenti modifiche, e' necessario commentare la riga
imagettftext($image, $font_size, .....
che si trova al fondo del file captchasecurityimage.php e inserire di seguito il seguente blocco di testo
/*pimp my capthca*/
// aggiungo una leggera rotazione al testo
imagettftext($image, 24, mt_rand(-15,15) , mt_rand(20,50), mt_rand(40,50), $text_color, $this->font , $code) or die('Error in imagettftext function');
// il grado di turbolenza della "onda"
$turbolenza=5;
//ondeggiamo il tutto
for ($i=0;$i<$width;$i+=2){
imagecopy($image,$image,
0+$i-2,0+sin($i/10)*$turbolenza, //dest
0+$i,0, //src
2,$height);}
/*fine*/
Premetto che questo hack modifica leggermente il porcedimento di creazione dell'immagine.
La dimensione del font non e' piu' variabile, ma fissa a 24 px, in modo da essere agevolmente letta anche dopo deformazioni consistenti. La dimensione dell'immagine non potra' essere inferiore a 150px*70px. Questo e' dovuto principlamente al fatto che sia la rotazione che la deformazione del testo, necessitano di spazio extra, così da garantire una visione completa dei caratteri, evitando che alcuni di essi vadano a finire "fuori" dal'area visibile. Tuttavia con un briciolo di impegno e' possibile risolvere anche questo inconveniente.
per maggiori informazioni riguardo alla sicurezza dei capthca, consiglio di leggere i seguenti doc
http://www.codinghorror.com/blog/archives/000712.htmlhttp://www.lafdc.com/captcha/http://sam.zoy.org/pwntcha/allego inoltre una jpg con uno dei capcha generati dal mio hack.
se ci si volesse spingere oltre, e' anche possibile implementare con poche modifiche di codice anche la scelta casuale dei caratteri, tuttavia e' sconsigliabile scelgliere carateri strani inquanto risulterebbero scarsamente leggeibile dopo le deformazioni.
Buon Joomla a tutti
[allegato eliminato da un amministratore]