Hola a todos

oggi pome mi sono messo un pò a lavoro e mi sono scritto qualche riga di codice per "diesgnare" un captcha visuale basato su caratteri ascii

qui riporto il post che ho fatto in una discussione dove si parlava di captcha
http://forum.html.it/forum/showthrea...1#post11865421

per chi non volesse perdere tempo accedendo usando un sistema di questo tipo viene fuori qualcosa come

codice:
    §#         §0        ç#ç*§#    §**#§2    §@    #§2@§§ 
  §§ç@0*     #§@*##     *#   ##   **   *#  #1*§   §#   *@ 
 @*    #*   #§    ç§   §§    §#  çç    ç@  #§#§  **    2§ 
 #*    @#   0*    #*       **        ç2   ## §*      ç*   
0*      ç§ ç§      ç@      §2        ##      §*      §@   
ç@      *# #@      ##    *§        2ç        §@    #@     
 ç0    #@   çç    @*     ç*        #§        1*    22     
 #0    @0   0§    *ç   ç#        §#          *#  @ç       
  *@§##@     0@#*§@    @@    *@  ç#    §#    çç  @2    *§ 
    #*         #*      ç@@ç#2*   *ç#ç2@ç     ç@  *###2@2
un altro esempio è
codice:
----+W-----------,ù-------;S-------e§x]2T-------é°-------òZ----
--@EB^\à-------ì/2ç-----[SRS------f5---bG-----ZH+*-----&yy2----
-RV----*R------|(?m-----_R##-----w3----(b-----çeM%-----wV§N----
-[ù----18-----ù/-+u----ft-r3---------Uq------5h-ùh----S5-h3----
|m------bo-------:.-------f6---------T°---------Kr-------3?----
òp------3Z-------"z-------é$-------+*-----------jJ-------Qr----
-gù----/|--------CJ-------°v-------z.-----------R_-------F-----
-("----bc--------?f-------L&-----0_-------------çD-------iò----
--bèEQ%P---------O:-------wn-----HP----p,-------où-------8,----
----\J-----------p+-------Yc-----éE$$ek#--------E:-------0E----
o

codice:
____5z___________r-________9r___________O°________0q___________$[____
__.SY81,_______'Y@G______H*B1=§_______)nY*______Y8dìf/_______x)l|____
_gI____Gà______1-nH_____'e____:m______*Zw'_____7m____'a______/K'l____
_:^____!:_____uk_Af_____£o____s1_____é:_($_____=#____/q_____7z_:E____
èé______@1_______E=____k:______R§_______WT____G4______h9_______zO____
è,______*Z_______1K____§à______B&_______§E____E7______fn_______nk____
_$5____7L________'Q_____*.____Q+________&:_____SL____)[________$F____
_oN____é-________Cç_____:Z____Pq________sx_____t°____=\________kP____
__hghF]R_________ZP______)Y%oHc_________6T______##u%ù§_________t8____
____EL___________nj________=-___________bt________P[___________àp____
attualmente compaiono solo lo 0, 1 e 2 perché ho disegnato solo questi 3 caratteri per le prove, ma come si può vedere effettivamente cosi risulta moltooooo complesso per un bot riuscire a decifrare il concenuto i font infatti sono estremamente alterati e, volendo, è possibile applicare delle distorsiozni

il primo captcha visuale testuale che ho postato lasciatelo perdere, comunque, è solo per esempio

il bot, per riuscire a decifrare il contenuto dovrebbe andare a leggersi il testo li presente, costruirsi una mappa ove il carattere utilizzato per la spaziatura è considerato un nulla e qualsiasi altro carattere un pieno e poi andargli a confrontare con un font, sempre costruito a mano partendo da quello

l'alternativa è, dopo aver costruito la mappa, provare a fargli riconoscere il codice tramite un sistema ocr

in entrambi i casi c'è più lavoro da fare (nel primo caso moltissimo più lavoro da fare) e comunque non si ha la certezza di riconoscere il testo ... ad esempio

codice:
____8_____________I______________ç____________________$kBaTf__________________
__n___v_________òPGòyf________H_28[@_______1rqZ______0è___Bì______rsTDPp______
__g_____Y_______%____A_______|______é_______T________@___________N_____W______
_b8____=o______E_____g°______H_____e§_____6j__;_________D*________N____da_____
mé____________q________o____U]_______7________%_________]_______^________,____
Q+______a______J______*_____j_______=ò________________:^________I_____________
__f____gc______W§____[v______]______!________B\_______[°__________1___________
__5____08_______c____]3______Ig_____à________ò]_____7=___________$$____èh_____
___%°3__________i_V_ap________5,yHvg__________v______3_____P______46r2q_______
_____l____________wM_____________!____________|______/°_èN___________?________
facendo generare al sistema un captcha del genere diventa ancora più complesso per un bot andare a riconoscere correttamente i valori presenti perché dovrebbe andare a considerare una percentuale di differenza

comunque ... cosa ne pensate di un sistema del genere? non avrebbe bisogno delle GD e volendo per i caratteri, se si implementano, si possono usare FONT sempre diversi complicando considerevolmente la vita

anche la spaziatura tra i caratteri, volendo, si può fare casuale