2009-06-23 15 views
8

Se creiamo un'applicazione SWF online, esiste un modo per proteggerla in modo che qualcun altro non la scarichi e la metta sul loro sito? Ad esempio, Webkinz è realizzato con Flash, ma nessuno lo sta piratando sui loro server con l'intero gioco sbloccato. Cosa fa Webkinz che possiamo fare?È possibile proteggere i file SWF?

Grazie!

+2

Webkinz non è pirata perché ... beh ... diciamo la verità, che vuole Webkinz ??? hehe –

+2

Come sai che Webkinz non ha piratato? –

risposta

0

Ciò dipende principalmente dal software del server Web. Se PHP, puoi usare readfile(). Vedere l'esempio here. Memorizza lo .swf stesso sopra il webroot, quindi usa un po 'di autenticazione prima di chiamare readfile. In questa configurazione, chiameresti il ​​file php con la tua chiamata a readfile() al posto di .swf.

Così potrebbe apparire, in modo estremamente semplificato, qualcosa di simile: fakeswf.php:

if (authenticate()) { 
    header("Content-Type: application/flash"); 
    readfile("../realswf.swf"); 
    } 
else { 
    header("Content-Type: text/html"); 
    echo "Nothing to see here."; 
    } 

index.html:

<a href="fakeswf.php">Click here to play my game</a> 

Per quanto riguarda il browser è interessato (se si impostano correttamente le intestazioni come nell'esempio), fakeswf.php è un file .swf.

NOTA IMPORTANTE: in realtà non ho cercato il tipo di contenuto corretto per un file .swf. Assicurati di cercarlo e cambialo di conseguenza.

+1

Perché la gente non può semplicemente recuperare fakeswf.php, quindi rinominarlo? – fenomas

+1

Perché il file non è effettivamente memorizzato nel file php. E se hai una configurazione del server che ti permette di scaricare il codice lato server, hai problemi più grandi. –

+1

Inoltre, nella fase di autenticazione, si spera di adottare misure per garantire che il file venga chiamato dal server. –

1

È possibile rendere difficile il furto dei file swf se si fa come Webkinz, in quanto hanno un film principale incorporato nella pagina (in modo che l'utente conosca l'URL di quel film). Tutti i film successivi vengono caricati in quel film originale in modo programmatico. Ovviamente qualcuno con un decompilatore di flash potrebbe decompilare il film e vedere i percorsi, ma poi si potrebbe anche passare attraverso il problema di rendere oscuri i nomi di quei MovieClip.

6

1- Offuscare il codice ActionScript utilizzando un offuscatore avanzato come secureSWF.

2- Il dominio blocca i file SWF.

3- Creare un caricatore fittizio, rinominare i file SWF originali e modificarne l'estensione, quindi caricare i file SWF originali utilizzando il caricatore fittizio.

4- Accertarsi di prevenire il collegamento a caldo. (questo dipenderà dal tuo server web)

5- Criptare stringhe sensibili in ActionScript; manualmente nel codice o puoi anche usare secureSWF per questo.

+0

Il file SWF originale può essere scoperto decompilando il caricatore fittizio, tuttavia è un modo di aggiungere sicurezza Penso che mi sia venuta in mente un'alternativa. Inserirò presto sul mio blog – Oliver

+0

sì, ma l'originale sarà offuscato e dominio bloccato. Inutile! – Ammar

4

Ricorda che tutte le risposte qui sono variazioni su come rendere più difficile o fastidioso per qualcuno il re-host del tuo flash. Non c'è modo di impedire a qualcuno di farlo, a meno che la tua capacità di offuscare le tue difese superi la capacità dell'attaccante di sventagliarle.

Quanto a cosa avrei fatto, mi piacerebbe cospargere il mio codice con punte come questo:

// in a display object 
if (loaderInfo.url != "http://example.com/my/real/content.swf") { 
    // blow up 
} 

Questo dovrebbe impedire a chiunque che non ha accesso a un decompilatore. Se ciò non è abbastanza buono, l'unica risposta è investire in un offuscatore, perché nient'altro che farai farà alcuna differenza a meno che il tuo codice non venga oscurato.

1

Abbiamo testato estesamente tutti gli strumenti swf presenti sul mercato e non uno tranne Secureswf fa il lavoro. Tuttavia, non è senza problemi né dove il mio swf è trovato rotto dopo aver applicato molte impostazioni di combinazione. Frustrato, ho deciso di usare un'idea migliore con PHP che è simile a come funziona "Copy Protected Audio CD".

Una demo che mostra come PHP può essere utilizzato per proteggere il tuo SWF. http://wildfiremedia.com.sg/demo.php

1

Credetemi, PHP non proteggerà il vostro SWF. Ho lavorato su SWF Security per molti anni, posso ignorare qualsiasi SWF crittografato o cosiddetto crittografato.

Non c'è sicurezza al 100% di SWF, ma se volete sapere come renderlo più sicuro possibile, posso help.You Mi si può raggiungere a swfprotection a gmail.com

Ricordate, PHP non può proteggere SWF.

Problemi correlati