Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    6

    Protezione swf basata su dominio

    salve ragazzi,

    avrei bisogno di ottenere una protezione con actioscript per il mio swf per evitare che
    1)sia visualizzabile in locale
    2)sia visualizzabile non in linea
    3)sia visualizzabile in un dominio diverso da quello del mio sito.

    Naturalmente dopo offuscherei il codice per evitare anche il semplice disassemblaggio.

    A questo proposito ho googlato un bel pò e sono riuscito ad ottenere un pò di codice per ottenere il risultato

    codice:
    function testWithServer( callback:Function ):Void { 
    var receiver:LoadVars = new LoadVars(); 
    receiver.onLoad = callback; 
    receiver.load( "http://www.sito.it/dir/check.xml" );
    }
    
    function testResult( success:Boolean ):Void {
    	if(success)	{
    		remoto.text="controllo file remoto...OK";
    	 } else {
    		remoto.text="controllo file remoto...ERRORE";
    		}
    } 
    
    stop(); 
    testWithServer( testResult );
    
    function isDomainAllowed( allowed:Array ):Boolean { 
    var lc:LocalConnection = new LocalConnection(); 
    var domain:String = lc.domain();
    var protocol=_url.substr(0,_url.indexOf(":"));
    dominio.text=protocol;
    dominio.text=dominio.text+"/"+domain;
    
    if(protocol != "http") return false;
     
    for( var i:Number = 0; i < allowed.length; ++i ) { 
    	if( domain == allowed[i] ) { return true; } 
    } 
    
    	return false; 
    }
    
    var domains:Array = new Array( "www.sito.it" );
    //trace(isDomainAllowed( domains ));
    if( isDomainAllowed( domains ) ) {
    	dominio.text=dominio.text+": controllo dominio...OK"; 
    } else { 
    	dominio.text=dominio.text+": controllo dominio...ERRORE";  
    }

    ora il codice sembra funziona nel caso di salvataggio della pagina normalmente, ma non se uso la funzione "non in linea" del browser, oppure se salvo la pagina come archivio file unico .mht di IE: in questi 2 casi si apre senza problemi.

    E' possibile fare ulteriori controlli attraverso qualche classe/funzione di AS3 per capire se sono o meno in locale?
    Posso eventualmente querare il db del server per ottenere questo controllo?
    o un sistema per evitare la cache della pagina?

    Molte grazie, qualsiasi suggerimento sarà ben accetto.
    hate dominus

  2. #2
    nn so può darsi dico una cavolata ma mi sache anche offuscando il cod
    esistono dei software che decompilano anche quello....

    cmq hai provato con il comando

    _root._url ?

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3

    Re: Protezione swf basata su dominio

    Originariamente inviato da XanTriX
    salve ragazzi,

    avrei bisogno di ottenere una protezione con actioscript per il mio swf per evitare che
    1)sia visualizzabile in locale
    2)sia visualizzabile non in linea
    3)sia visualizzabile in un dominio diverso da quello del mio sito.

    Naturalmente dopo offuscherei il codice per evitare anche il semplice disassemblaggio.

    A questo proposito ho googlato un bel pò e sono riuscito ad ottenere un pò di codice per ottenere il risultato

    codice:
    function testWithServer( callback:Function ):Void { 
    var receiver:LoadVars = new LoadVars(); 
    receiver.onLoad = callback; 
    receiver.load( "http://www.sito.it/dir/check.xml" );
    }
    
    function testResult( success:Boolean ):Void {
    	if(success)	{
    		remoto.text="controllo file remoto...OK";
    	 } else {
    		remoto.text="controllo file remoto...ERRORE";
    		}
    } 
    
    stop(); 
    testWithServer( testResult );
    
    function isDomainAllowed( allowed:Array ):Boolean { 
    var lc:LocalConnection = new LocalConnection(); 
    var domain:String = lc.domain();
    var protocol=_url.substr(0,_url.indexOf(":"));
    dominio.text=protocol;
    dominio.text=dominio.text+"/"+domain;
    
    if(protocol != "http") return false;
     
    for( var i:Number = 0; i < allowed.length; ++i ) { 
    	if( domain == allowed[i] ) { return true; } 
    } 
    
    	return false; 
    }
    
    var domains:Array = new Array( "www.sito.it" );
    //trace(isDomainAllowed( domains ));
    if( isDomainAllowed( domains ) ) {
    	dominio.text=dominio.text+": controllo dominio...OK"; 
    } else { 
    	dominio.text=dominio.text+": controllo dominio...ERRORE";  
    }

    ora il codice sembra funziona nel caso di salvataggio della pagina normalmente, ma non se uso la funzione "non in linea" del browser, oppure se salvo la pagina come archivio file unico .mht di IE: in questi 2 casi si apre senza problemi.

    E' possibile fare ulteriori controlli attraverso qualche classe/funzione di AS3 per capire se sono o meno in locale?
    Posso eventualmente querare il db del server per ottenere questo controllo?
    o un sistema per evitare la cache della pagina?

    Molte grazie, qualsiasi suggerimento sarà ben accetto.
    per fare quello che ti serve esiste un software a pagamento mi pare che si chiami SWFEncrypt . L'ho visto usare su di un sito che vende file flash e che uindi aveva bisogno proprio di questo tipo di protezione.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    6
    il problema non è tanto quello che possano decompilarlo (se sono disposti a perdere quel tempo dopo che l'ho criptato pazienza) ... a me serve che il file .swf abbiamo qualche "controllo" actioscript che capisca

    non sei collegato a internet e/o stai facendo girare il flash da locale

    in modo da obbligare se possibile la visione online dei flash
    essendo il sfw nella cache del browser nessuno dei controlli che ho inserito è sufficiente a capire questa differenza...


    non mi resta che tentare di non far passare nella cache i file relativi, ma la vedo dura

    grazie cmq di qualsiasi suggerimento
    ciao
    hate dominus

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.