2010-01-29 11 views
6

He escrito alguna aplicación elegante de Flex, que realmente no requiere ninguna integración del lado del servidor.¿Cómo protejo mi Flash/Flex SWF con código?

Ahora, si alguien tomó ese archivo SWF y lo colocó en su servidor, se ejecutará muy bien.

¿Qué código puede reconocer que el archivo SWF no está bajo mi dominio y detener la ejecución durante el inicio? No me importa hacer algunas llamadas al lado del servidor solo para hacer un control. Pero, ¿cómo se puede lograr esto?

Respuesta

5

Echa un vistazo loaderinfo.url, puede hacer esto por usted. Here's an example on how it can be used to determine where the SWF is being loaded from.

Por lo tanto, podría detectar de dónde se está cargando el swf, y si no es de su servidor, bloquee las cosas buenas. :)

Buena suerte

+2

Estoy seguro de que puede eliminar o editar esta comprobación de seguridad después de descompilar el swf. – Thomas

+1

@Thomas Eso no es imposible, pero al menos el ladrón haría algún trabajo. – Amarghosh

1

¿Por qué no marcas tu aplicación de agua? Pero creo que si alguien roba tu aplicación, también la piratearía para eliminar cualquier protección.

+0

Eso es una opción, pero no quiero que el archivo SWF se ejecute en absoluto. ¡Hay sitios que toman su SWF y lo alojan en su sitio web, incluso si tiene una marca de agua! Triste pero cierto. – Yeti

1

Como se ha mencionado que la conclusión es todo lo que puede poner en, el malo puede rasgar la derecha, por lo que todo lo que realmente se puede hacer es que la cantidad de trabajo necesario para hacer esto un obstáculo para cualquiera que lo intente. Lo que se ha sugerido hasta ahora al menos disuadiría al ladrón casual y quizás sea suficiente.

La forma en que me encontré a su alrededor fue tener una integración bastante estrecha con los datos del lado del servidor, de modo que incluso si eliminas toda esa integración (lo que probablemente te lleve días ... es una gran aplicación) aún no tendría datos con los cuales usarlo. Obviamente, esto depende en gran medida de lo que esté haciendo su aplicación, pero si toma una decisión arquitectónica para mover cualquier información al servidor, aumentará su protección.

(Esto debería ser un comentario en lugar de una respuesta, pero publicar aquí, debido a la longitud.)