Abbiamo un'app Flash (AS3). Questa è un'applicazione desktop che funziona nel nostro proiettore. No Air. Il proiettore è scritto in C++. Il proiettore fornisce alla parte Flash un accesso indiretto all'API di Windows tramite ExternalInterface.Flash: è vietato l'accesso a ExternalInterface al file SWF caricato?
Ora vogliamo consentire alla nostra comunità di creare plug-in. Solo per fargli fare una piccola immagine animata con un po 'di Action Script 3.
Un plugin verrà caricato come file .swf esterno in fase di esecuzione. E, naturalmente, vorremmo che i nostri utenti distribuissero i plugin sulla rete.
Ma abbiamo un problema di sicurezza. E se qualche persona cattiva si avvantaggiasse dell'accesso indiretto all'API Win?
Ho fatto un piccolo test. Un file .swf caricato nel programma tenta di chiamare i metodi ExternalInterface. Si è scoperto che child.swf era in grado di farlo. Quindi ogni file .swf caricato nel nostro programma avrà automaticamente accesso all'API Win.
Il download di plug-in per il nostro programma diventa pericoloso come un file .exe.
È possibile vietare l'accesso a ExternalInterface al file .swf caricato? In caso contrario - come implementeresti il sistema di plugin in AS3 pensando alla sicurezza?
Apprezzerei qualsiasi suggerimento che possa essere d'aiuto.
Ma il file SWF secondario può sovrascrivere il metodo di richiamata di autorizzazione utilizzando ExternalInterface.addCallback()? Non so in un modo o nell'altro e il documento non specifica: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html#addCallback() –
Aren sei in grado di distinguere tra child e main swf dall'interfaccia esterna? Un browser può, quindi una interfaccia esterna personalizzata deve avere almeno questa funzionalità –
@ Mike Vedere le mie modifiche. – loxxy