El tema de la seguridad en
Flash no es demasiado complejo,
tenemos que tener presente que
No podemos pedir a Flash
Seguridad absoluta, siempre
Habrá alguna vulnerabilidad, la
Mejor seguridad tal vez la
Provea el uso de asp o php en
Cuanto permiten un cotejo sin
Que la página llegue a la
Computadora del usuario (el
chequeo se hace en el servidor)
Y por ello todo lo tratado aquí
Es sólo como curiosidad de un
Manejo básico de contraseñas,
nunca uses esto si deseas
Proteger algo realmente TOP
SECRET. En este caso el tema es
Sobre manejo de contraseñas en
Flash. (El uso de USUARIO y
PASSWAORD es solo una pequeña
variación que sera explicada
más adelante) Lo que viene a
Continuación no son más que
Métodos de construcción de
Películas que piden contraseñas,
el nivel de seguridad no es alto,
nuevamente repito que es
Altamente recomendable que NO se
Empleen para proteger información
De carácter super-confidencial,
mejores métodos hay y Flash no
Esta hecho para ello, acá solo
Dificualtamos algo la
Entrada pero la puerta sigue
Entreabierta. Supongamos que
Queremos mostrar una tarjeta
Animada hecha por nosotros a esa
Persona especial, y lo hemos
Puesto en una página web. Para
Que esa persona
Acceda a su película hemos creado
Una pantalla de contraseña con el
Fin de eliminar el acceso a
Fisgones no deseados. ¿Cómo
hacemos para crear una de
esas pantallas?:
Bueno, pongamos 3 frames, cada
frame tiene una acción STOP:
El primero contiene un campo
De texto de entrada de nombre
"pass" para poder introducir los
Datos y abajo un botón cuyo
Script debe evaluar la contraseña
Con lo introducido en el campo de
Texto. La idea es simple, veamos
Como se hace de manera clásica,
en este caso la contraseña será
"amor" ¿original no?:
On(release){
If(_root.pass=="amor"){
gotoAndStop(2);
}else{
gotoAndStop(3)
}
}
En el frame 2 está lo bueno
y en el 3 el mensaje de
Error. Bueno, probamos y
Funciona, ¿podemos dormir
tranquilos?... hummm... creo
Que no, debido a que hay
Programas como el Action
Script Viewer que permiten
Ver los scripts de un swf,
entonces si entro a la
Página, así no logre entrar
A la primera puedo recoger
El swf de mi folder de los
Archivos temporales de
Internet y ver el script con
El programita ese...¿qué veo?:
ajá... Se puede ver que la
Contraseña es "amor", cargo
De nuevo a la página y ya puedo
Entrar. Entonces ¿cómo puedo
hacer una contraseña de tal
modo que no se pueda ver si
alguien ve el script? Bueno,
el método que te doy a
Continuación (espero que se
pueda mejorar) se basa en la
Idea de comparar contenidos.
Me refiero a almacenar la
Contraseña en otra caja de
Texto y comparar ambas cajas
De texto, si son iguales pues
Es que la contraseña es correcta.
Para hacerlo más difícil incluso
Podemos introducir las variables
Por medio de un archivo de texto,
la utilidad es que podemos cambiar
La contraseña sin modificar el Fla
Y subir de nuevo el swf al servidor.
Entonces ¿cómo se hace eso? Fácil:
1.-Crea una caja de texto dinámico
Y nómbrala "mipass", ahora (este
detalle es lo importante) colócala
Fuera del escenario, bien lejos.
2.-Crea un archivo de texto con el
Block de notas y escribe en él:
mipass=amor guarda el archivo en el
Mismo folder del fla que estamos
Haciendo.
3.-Ahora cambiamos el script del
Botón:
On(release){
If(mipass==pass){
gotoAndStop(2);
}else{
gotoAndStop(3)
}
}
4.-Metemos dentro de nuestra
película el txt, esto va en el
frame 1:
stop ();
loadVariablesNum
("archivo.txt", 0);
Ahora testea. ¡Funciona! Y lo
Mejor es que si alguien logra
Ver el script de poco le
Servirá ya que sólo verá que
Comparamos dos cajas de texto
Cuyo contenido no sabe (a
menos que abra el txt por
supuesto). Entonces surge el
Mismo problema, ya no es tan
Rápido de aprovechar pero si
Alguien muy especial le da la
Gana de bajar el txt de nuestro
Servidor podrá saber el password,
o si revisa sus temporales podría
encontrar el archivo *txt
¿Entonces?... pues entonces vamos
A impedir que vea el código del
Script por medio del programa ese.
Se puede hacer si introduces este
Código delante de cada script que
Uses:
void (a)<=b>"c" || 0(!1 && !0)
Con esto rayas el Action Script
Viewer y le genera un hermoso
Mensaje de error si desea ver
Algún script; ojo, ponlo DELANTE
De CADA SCRIPT que uses. Pero
Igual si se abre el fla con el
Block de notas podría (eso sí,
desentrañando un poco el código
que se muestra) ver la programación.
También puedes poner este FS COMMAND
En el frame inicial (Solo funcionara
cuando se reproduzca la película de
Flash con el reproductor
independiente):
fscommand ("quit");
Así cuando alguien quiera abrir el
swf verás que se cierra
Automáticamente. Repetimos, el uso
De contraseñas en Flash es sólo
Primitivo y NO OFRECE SEGURIDAD
OPTIMA sólo usando Flash.
Ahora, para implementar lo de
Usar nombre de USUARIO y
PASSWORD solo se tendrían
Que hacer algunas pequeñas
Modificaciones, por ejemplo,
que en vez de evaluar un solo
Parámetro (como es el PASSWORD)
Hacemos que evalúe dos,
concatenando lo que tiene que
Verificar con: "&&" (Que viene
ha ser el AND o Y lógico)
Ejemplo:
Donde XXX viene a ser el nombre
Del usuario, y lo que haría en
Este caso el ActionScript seria
ir al Frame 2 solo cuando se
Cumpla que USUARIO es XXX y el
PASSWAORD es amor...
On(release){
If(_root.usuario=="XXX" && _root.pass=="amor"){
gotoAndStop(2);
}else{
gotoAndStop(3)
}
}
Espero haberte sido de ayuda,
para cualquier duda o para
Ampliar la explicación,
solo tienes que decirlo...
Estamos pa' ayudarnos... XD
Saludos...
[ET]Av-Squadron
Me puedes encontrar en el
MSN Messenger por:
[email protected]