2009-06-23 17 views
8

Si creamos una aplicación SWF en línea, ¿hay alguna forma de protegerla para que otra persona no la descargue y la ponga en su sitio? Por ejemplo, Webkinz está hecho con Flash, pero nadie lo piratea en sus servidores con todo el juego desbloqueado. ¿Qué está haciendo Webkinz que podemos hacer?¿Es posible proteger archivos swf?

Gracias!

+2

Webkinz no es pirateado porque ... bueno ... seamos sinceros, ¿quién quiere Webkinz? jeje –

+2

¿Cómo sabes que Webkinz no ha pirateado? –

Respuesta

0

Eso depende principalmente de su software de servidor web. Si PHP, puede usar readfile(). Vea el ejemplo here. Almacene el .swf mismo encima de la raíz web, luego use alguna autenticación antes de llamar a readfile. En esta configuración, llamarías al archivo php con tu llamada readfile() en lugar del .swf.

Por lo tanto, podría ser, de una forma extremadamente simplificada, algo como esto: 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> 

En lo que se refiere al navegador (si configura correctamente los encabezados según el ejemplo), fakeswf.php es un archivo .swf.

NOTA IMPORTANTE: en realidad no busqué el tipo de contenido adecuado para un archivo .swf. Asegúrese de buscarlo y cambiarlo en consecuencia.

+1

¿Por qué no podría la gente simplemente recuperar fakeswf.php, luego cambiarle el nombre? – fenomas

+1

Porque el archivo no está realmente almacenado en el archivo php. Y si tiene una configuración de servidor que le permite descargar el código del lado del servidor, tiene problemas mayores. –

+1

Además, en el paso de autenticación, esperemos que tome medidas para asegurarse de que el servidor llame al archivo. –

1

Puede hacer que sea difícil robar sus archivos swf si lo hace como Webkinz, ya que tienen una película principal integrada en la página (para que el usuario conozca la URL de esa película). Todas las películas siguientes se cargan en esa película original programáticamente. Por supuesto, alguien con un descompilador flash podría descompilar su película y ver las rutas, pero de nuevo podría incluso tomarse la molestia de oscurecer los nombres de esos MovieClips.

6

1- Ofender su ActionScript utilizando un ofuscador avanzado como secureSWF.

2- El dominio bloquea sus archivos SWF.

3- Cree un cargador ficticio, cambie el nombre de los archivos SWF originales y cambie su extensión, luego cargue los archivos SWF originales utilizando el cargador ficticio.

4- Asegúrese de evitar enlaces en caliente. (esto dependerá de su servidor web)

5- Cifre las cadenas sensibles en su ActionScript; ya sea manualmente en su código, o también puede usar secureSWF para eso.

+0

El archivo SWF original se puede encontrar mediante la descompilación del cargador ficticio, aún así es una forma de agregar seguridad Creo que se me ocurrió una alternativa.Lo publicaré en mi blog pronto – Oliver

+0

sí, pero el original será ofuscado y dominio bloqueado. ¡Inútil! – Ammar

4

Tenga en cuenta que todas las respuestas aquí son variaciones sobre las formas de hacerlo más difícil o molesto para que alguien vuelva a alojar su flash. No hay forma de evitar que alguien lo haga, a menos que tu habilidad para ofuscar tus defensas exceda la habilidad del atacante para des-ofuscarlas.

En cuanto a lo que haría, me salpico mi código con los bits de esta manera:

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

Eso debería detener a nadie que no tenga acceso a un decompilador. Si eso no es lo suficientemente bueno, la única respuesta es invertir en un ofuscador, porque nada más que usted haga va a hacer la diferencia a menos que su código esté ofuscado.

1

Hemos probado exhaustivamente toda la herramienta de swf en el mercado y no una excepto la que hace el trabajo. Sin embargo, no está exento de problemas donde mi swf se encuentra roto después de aplicar muchas configuraciones de combinación. Frustrado, decidí usar una mejor idea con PHP que es similar a cómo funciona el "Copiar CD de audio protegido".

Una demostración que muestra cómo se puede utilizar PHP para proteger su SWF. http://wildfiremedia.com.sg/demo.php

1

Créame, PHP no protegerá su SWF. He estado trabajando en la seguridad de SWF durante muchos años, puedo eludir cualquier SWF seguro o llamado cifrado.

No hay seguridad al 100% de SWF, pero si quieres saber cómo hacer que sea lo más seguro posible, puedo help.You puede comunicarse conmigo al swfprotection en gmail.com

Recuerde, PHP no puede proteger SWF.