Flash Gallery | Flash Templates | Flash Menu | Flash Design | Flash Audio & Video

Video Corsi Actionscript 3.0


+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 10 of 20

Thread: Captcha per Flash CS3

  1. #1
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,452
    Rep Power
    8

    Captcha per Flash CS3

    amazing Flash templates

    FlepStudio ha creato una semplice captcha per Flash CS3 con Actionscript 3.0 .


    Cos'è una captcha ?

    Con l'acronimo inglese CAPTCHA si denota nell'ambito dell'informatica un test fatto di una o più domande e risposte per determinare se l'utente sia un umano (e non un computer o, più precisamente, un bot).

    Un test captcha tipicamente utilizzato è quello in cui si richiede ad un utente di scrivere quali siano le lettere o numeri presenti in una sequenza di lettere o numeri che appaiono distorti o offuscati sullo schermo.

    I captcha sono utilizzati per impedire che i bot utilizzino determinati servizi, come i forum, la registrazione presso siti, scrivere commenti e in generale tutte quello che potrebbe essere usato per creare spam o per violare la rete con operazioni di hacking come il brute force. Ultimamente questo tipo di test viene utilizzato anche per contrastare lo spam generato da bot obbligando il mittente, se non conosciuto dal destinatario, a superare un test captcha prima di consentire la consegna del messaggio.


    FlepStudio ha creato una captcha in Flash che può essere utilizzata nei vostri guestbook oppure shoutbox.

    Può essere utilizzata in qualsiasi applicazione Flash che prevede l' inserimento di commenti o messaggi da parte degli utenti.


    E' una semplice classe Actionscript 3.0 facilmente gestibile tramite un suo metodo.


    CAPTCHA per Flash CS3






    La classe Actionscript 3.0


    Code:
    package org.FlepStudio
    {
    	import flash.display.*;
    	import flash.events.*;
    	import flash.geom.*;
    	import flash.text.*;
    	
    	public class Captcha extends MovieClip
    	{
    		private var clip_mc:MovieClip;
    		
    		private var captcha_array:Array;
    		
    		private const CAPTCHA_LENGTH:int=8;
    		
    		private var captcha:String="";
    		
    		public function Captcha()
    		{
    			addEventListener(Event.ADDED_TO_STAGE,init);
    		}
    		
    		private function init(evt:Event):void
    		{
    			removeEventListener(Event.ADDED_TO_STAGE,init);
    			
    			captcha_array=new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j",
    							    					"k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9");
    			
    			createClip();
    			createBackground();
    			createCaptcha();
    			createText();
    		}
    		
    		private function createClip():void
    		{
    			clip_mc=new MovieClip();
    			addChild(clip_mc);
    		}
    		
    		private function createBackground():void
    		{
    			var fillType:String=GradientType.LINEAR;
    			var colors:Array=[Math.random()*0xFFFFFF,Math.random()*0xFFFFFF];
    			var alphas:Array=[1,1];
    			var ratios:Array=[0x00,0xFF];
    			var matr:Matrix=new Matrix();
    			matr.createGradientBox(20,20,0,0,0);
    			var spreadMethod:String=SpreadMethod.REFLECT;
    			clip_mc.graphics.beginGradientFill(fillType,colors,alphas,ratios,matr,spreadMethod);  
    			clip_mc.graphics.drawRect(0,0,140,40);
    		}
    		
    		private function createCaptcha():void
    		{
    			for(var i:int=0;i < CAPTCHA_LENGTH;i++)
    			{
    				var randomNumber:int=Math.floor(Math.random()*captcha_array.length);
    				captcha+=captcha_array[randomNumber];
    			}
    		}
    		
    		private function createText():void
    		{
    			var field_txt:TextField=new TextField();
    			field_txt.multiline=false;
    			field_txt.selectable=false;
    			field_txt.embedFonts=true;
    			field_txt.defaultTextFormat=getFormat();
    			field_txt.text=captcha;
    			field_txt.width=field_txt.textWidth+5;
    			field_txt.height=field_txt.textHeight;
    			field_txt.x=(clip_mc.width-field_txt.textWidth)/2;
    			field_txt.y=(clip_mc.height-field_txt.textHeight)/2;
    			clip_mc.addChild(field_txt);
    		}
    		
    		private function getFormat():TextFormat
    		{
    			var format:TextFormat=new TextFormat();
    			format.font="Flubber";
    			format.size=24;
    			format.color=0xFFFFFF;
    			
    			return format;
    		}
    		
    		public function checkCaptcha(str:String):Boolean
    		{
    			if(str===captcha)
    				return true;
    			else
    				return false;
    		}
    	}
    }

    Un esempio di come utilizzarla


    Code:
    import org.FlepStudio.Captcha;
    
    var test:Captcha=new Captcha();
    test.x=260;
    test.y=160;
    addChild(test);
    
    send_btn.addEventListener(MouseEvent.MOUSE_DOWN,setDown);
    
    function setDown(evt:MouseEvent):void
    {
    	var answer:Boolean=test.checkCaptcha(test_txt.text);
    	trace(answer);
    }

    Metodi


    checkCaptcha(String):Boolean


    Una volta istanziata la classe e attaccata allo stage ( oppure dentro un' altra MovieClip ), basta chiamare questo metodo passandogli la stringa dell' utente che sta inserendo nel campo di testo.

    Riceverete un valore Boolean di ritorno ( true o false ) e in base a quel valore deciderete che azioni eseguire alla vostra applicazione.

    Attached Files

  2. #2
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,452
    Rep Power
    8

    Re: Captcha per Flash CS3

    PS:

    Se qualcuno crede sia troppo difficile da leggere, basta cambiare la font

  3. #3
    Junior Member Settled In Slash1086 is on a distinguished road
    Join Date
    Apr 2008
    Posts
    6
    Rep Power
    0

    Re: Captcha per Flash CS3

    Grazie Flep! Davvero molto utile, era da tempo che cercavo un captcha innovativo e personalizzabile!
    Parole Poco Pensate Portano Pena Perciò Prima Pensare Poi Parlare

  4. #4
    Junior Member Settled In angelcs is on a distinguished road
    Join Date
    Apr 2008
    Posts
    9
    Rep Power
    0

    Thumbs up Re: Captcha per Flash CS3

    Grazie di tutto il tuo lavoro che ci offri gratuitamente, ma posso chiederti se si potrebbe integrare anche in pagine asp?

    Poi se possibile vorrei sapere se queste utility funzionano solo attraverso il tuo sito oppure anche da sole?

    perchè vedo queste chiamate che se non sbaglio significano che stanno richiamando dei file dal tuo sito. Grazie

    package org.FlepStudio
    {
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
    import flash.text.*;

  5. #5
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,452
    Rep Power
    8

    Re: Captcha per Flash CS3

    Ciao angelcs,
    questa captcha non lavora lato server, è solo per Flash, quindi implementabile solo in un SWF.

    Quelle righe non richiamano scripts sul server di FlepStudio, importano le classi built-in che necessita la classe Main.as
    Gli scripts e le risorse di FlepStudio, se ben configurate come le istruzioni ( ahimè spero che siano sempre chiare, io faccio del mio meglio ) che vengono fornite per ogni risorsa, girno su tutti i servers.

  6. #6
    Junior Member Settled In angelcs is on a distinguished road
    Join Date
    Apr 2008
    Posts
    9
    Rep Power
    0

    Smile Re: Captcha per Flash CS3

    ok grazie,
    il tuo sito e chiarissimo oltre a essere una guida molto utile a tutti, compreso me che di flash non ne capisco niente

    Complimenti ancora per la tua sapienza

  7. #7
    Member Flash Addict edo_flash is on a distinguished road
    Join Date
    Jan 1970
    Posts
    50
    Rep Power
    41

    Re: Captcha per Flash CS3

    che dire.. minuziosissimo.... complimenti flep.

  8. #8
    just a flasher Flash Obsessed Teejay is on a distinguished road
    Join Date
    Mar 2008
    Posts
    127
    Rep Power
    3

    Riferimento: Captcha per Flash CS3

    Ottimo lavoro Flep ma sinceramente non vedo l'utilità di un Captcha per Flash...

    Non potendo accedere all'swf da javascript (com'è invece possibile fare con il DOM di una pagina html) per interagire con esso un malintenzionato dovrebbe creare un programma apposta che simuli la pressione dei tasti del mouse e della tastiera.


    Inoltre la maggior parte dei Captcha lavorano su algoritmi di distorsione geometrica...
    Infatti utilizzando un font ben definito, per quanto strano, la decodifica dell'immagine è tutt'altro che cosa ardua.
    _
    _

    Teejay, just a flasher!
    Se vi sono d'aiuto, premete la bilancia!
    _

  9. #9
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,452
    Rep Power
    8

    Re: Captcha per Flash CS3

    Lo so bene Teejay, però ad esempio se hai un guestbook frequentato da ragazzini che si divertono a lanciare un messaggio dietro l' altro... allora questa captcha può risolverti il problema.

  10. #10
    Junior Member Settled In diabolik is on a distinguished road
    Join Date
    Nov 2007
    Posts
    26
    Rep Power
    0

    Re: Captcha per Flash CS3

    Ciao Flep,
    complimenti per l'utilità, molto bella...
    1) Potresti postare il fla con il refresh salvato in formato cs3?
    2) Come si fa ad integrare il tuto in un swf esistente (es swf contatti)?

    Salutri e ...grazie

+ Reply to Thread
Page 1 of 2
1 2 LastLast

Similar Threads

  1. Captcha for Flash CS3
    By Flep in forum FlepStudio utilities
    Replies: 17
    Last Post: 20-09-09, 14:14

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Optimization by vBSEO