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.

Rispondi quotando