Foros del Web » Creando para Internet » Flash y Actionscript »

Contraseña

Estas en el tema de Contraseña en el foro de Flash y Actionscript en Foros del Web. Buenos dias Tengo una consulta a la que espero que alguien me pueda ayudar. Tengo este codigo: on(release){ if(password == "xxxx" && user == "xxxx"){ ...
  #1 (permalink)  
Antiguo 22/05/2010, 04:48
 
Fecha de Ingreso: mayo-2009
Ubicación: España (Barcelona)
Mensajes: 46
Antigüedad: 15 años, 6 meses
Puntos: 0
Contraseña

Buenos dias

Tengo una consulta a la que espero que alguien me pueda ayudar.

Tengo este codigo:

on(release){
if(password == "xxxx" && user == "xxxx"){
getURL ("http://www.#.es" , "_self");}
else {
stop();}
}

que es para entrar con contraseña y usuario a una pagina en concreto, me gustaria saber si se puede leer el password y la contraseña desde un .XML y si es asi agradeceria la ayuda.

Un saludo y gracias
  #2 (permalink)  
Antiguo 22/05/2010, 10:20
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Contraseña

LO que quieres es.. que en el XML existan varias contraseñas, y desde ahi verificarlas.. o solo guardar las contraseñas ahi?

SI el caso es el primero, no te lo recomiendo, debido a que el XML puede ser leido y bajado, y te convendria usar una base de datos con PHP, y desde ahi consultar la contraseña y al usuario

Si lo que quieres es solo guardar la contraseña, pues tampoco es recomendado, debido a que, como exprese, el XML puede ser leido por cualquier persona o robot en la red... Porque no usas un DATASET o solo lo dejas asi..

Si tu consulta es saber como se emplea un archivo XML y que flash lo lea, puedes investigar en estos links, y lo que no entiendas, postealo, y seguro te lo aclararemos

http://www.cristalab.com/tutoriales/...en-flash-c12l/

http://www.cristalab.com/tips/script...flash-c28433l/

TUTORIAL DATASET
http://www.cristalab.com/blog/tutori...x-2004-c2010l/

saludos
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 22/05/2010 a las 10:32
  #3 (permalink)  
Antiguo 22/05/2010, 10:58
 
Fecha de Ingreso: mayo-2009
Ubicación: España (Barcelona)
Mensajes: 46
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Contraseña

Muchas gracias por la contestacion lo que queria era lo segundo, pero me leere los links y comento.

Un saludo y gracias
  #4 (permalink)  
Antiguo 22/05/2010, 14:58
 
Fecha de Ingreso: mayo-2009
Ubicación: España (Barcelona)
Mensajes: 46
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Contraseña

Buenas noches

Me lei los links pero demasiado complicado para mi, me podrias explicar la seguanda opcion aunque se que se puede averiguar pero es una cuestion de aprender y entender.

Gracias loncho_rojas

Un saludo
  #5 (permalink)  
Antiguo 22/05/2010, 19:03
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Contraseña

es muy sencillo.. la logica sera la siguiente... leelo todo, que te lo detallo bastante, y es largo, pero no tiene desperdicio.

Verificamos si los datos del XML coinciden con los de los campos de texto. Si coinciden, iran a un frame que queremos. si no coinciden, ira a un frame con un mensaje de error. OK.. bien

Te explico el codigo, tomado desde cristalab, y por ultimo te dejo el link de los archivos. Uso FLASH CS3 en la version, asi que con versiones anteriores no podras abrirlo

Vamos a crear el archivo XML. Abres el BLOC DE NOTAS y escribes lo siguiente:
Código XML:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <confirmacion>
  4.     <usuario>lolo</usuario>
  5.     <password>12345</password>
  6. </confirmacion>

Lo guardas como pass.xml

Con eso ya tendras tu XML creado. Guardalo junto a la raiz del archivo mientras tanto


Creas 2 campos de introduccion de texto, y le pones como instancia

user_txt y al otro password_txt

creas un tercer campo de texto, pero tipo texto dinamico, solo para recibir mensajes de error, si se produjeran al cargar el xml. Le pones como instancia: cuerpo_txt

Creas un boton, o lo bajas desde los componentes de flash, y le pones como instancia: submit_btn. LISTO, aqui va el codigo explicado

en el Primer fotograma o frame, ponemos lo siguiente

para detener ahi

Código actionscript:
Ver original
  1. stop();

luego creamos un objeto tipo XML con la siguiente funcion

Código actionscript:
Ver original
  1. var elXml:XML = new XML();
esto permitira que con la variable elXml podamos controlar las funciones que competen al trato de archivos XML externos.

Luego,
Código actionscript:
Ver original
  1. elXml.ignoreWhite = true;
Con esto evitamos que se filtren espacios en blanco, por ejemplo, si nuestra contraseña es [12345], pero en el XML esta como [12345 ], es decir, esto que esta en rojo, posee un espacio en blanco al final, que podria interpretar como un caracter especial y atrofiarnos el password.


ahora creamos una funcion normal de carga de los elemento XML con las siguientes lineas, solo debes copiarlas

Código actionscript:
Ver original
  1. elXml.onLoad = function(exito) {
onLoad, indica, cuando se carga o mientras se carga el archivo XML, verifica si lo hizo corectamente o no

Código actionscript:
Ver original
  1. if (exito) {
  2.        
  3.         usuario= elXml.firstChild.childNodes[0].firstChild.nodeValue;
si no hubo problemas, asignamos una variable de nombre usuario, cuyo valor es el objeto XML, que trae lo siguiente:

*elXml= el objeto XML que hemos declarado al principio

*firstChild= busca el primer tag o tag principal del XML, en este caso, segun el ejemplo equivaldria a buscar el TAG <confirmacion> del archivo XML

*childNodes[0]= busca, dentro del TAG <confirmacion>, el primer sub-tag, en este caso, representado por cero (0). Normalmente 1 es el primer elemento en orden, pero en arrays y programacion, el CERO es considerado como el primer elemento, por eso en el corchete aparece [0] indicando que buscaremos en el primer sub Tag del tag principal, en este caso <usuario>

*firstChild.nodeValue= ya ubicado el elemento, pues con nodeValue extraemos el valor del primer nodo o tag, en este caso, busca el valor que contiene <usuario>, que es el usuario, o sea, el texto "lolo"

Lo mismo se aplica el password, solo que en ese caso, haremos 2 modificaciones:
1- asignarle otro nombre de variable
2- Especificar que busque en el 2º nodo o tag, poniendo [1]

Código actionscript:
Ver original
  1. clave= elXml.firstChild.childNodes[1].firstChild.nodeValue;

si no tuvo exito la carga del XML, le diremos con un else que ha fallado, tirando un mensaje al cuadro de texto dinamico que hemos creado previamente.
Código actionscript:
Ver original
  1. } else {
  2.         //Muestra un mensaje de error en caso de que algo fallara
  3.         cuerpo_txt.text = "Error al verificar";
  4.     }
  5. };// se cierra la funcion de carga de XML

ahora crearemos una funcion que haga la comparacion de los elementos que hay en el XML que trajimos con los que hemos escrito en los campos de introduccion de texto. Lamaremos a esa funcion "verificar"
Código actionscript:
Ver original
  1. function verificar()
  2. {
  3. elXml.load("pass.xml");
esto indica que la primera accion que hara la funcion sera buscar el archivo XML, o sea, cargar el archivo en la memoria, y las lineas que siguen comparan lo que escribimos, con lo que contiene el archivo XML

Código actionscript:
Ver original
  1. if((user_txt.text == usuario)  && ( password_txt.text == clave))
  2. {
  3.     _root.gotoAndStop(3);

si lo que escribimos dentro del campo user_txt, coincide con el primer nodo o tag de nuestro XML, y tambien, si lo que escribimos en el campo password_txt.text coicide con el segundo nodo o tag de nuestro XML, haremos que vaya al FRAME 3, que es donde supuestamente comenzara nuestra pagina

Código actionscript:
Ver original
  1. }else{
  2.     _root.gotoAndStop(2);
  3. }
  4.  
  5. }

caso contrario, de no coincidir, ira al FRAME 2, donde le espera un mensaje de error

Ok.. ahora haremos que funcione

Cuando presione el boton submit_btn, llamara la funcion, y generara toda la accion
Código actionscript:
Ver original
  1. submit_btn.onRelease = function (){
  2.     verificar();
  3. }

es facil.. no? Si no lo comprendes bien, solo leelo de vuelta, y atentamente... si encuentras o encuentran horrores ortograficos, sepan disculpar

aqui va el codigo completo del del primer fotograma... o sea, todo lo anterior va en el primer fotograma



Código actionscript:
Ver original
  1. stop();
  2.  
  3. /*#######################################*/
  4. var elXml:XML = new XML();
  5.  
  6. elXml.ignoreWhite = true;
  7.  
  8. elXml.onLoad = function(exito) {
  9.  
  10.     if (exito) {
  11.  
  12.         usuario= elXml.firstChild.childNodes[0].firstChild.nodeValue;
  13.  
  14.         clave= elXml.firstChild.childNodes[1].firstChild.nodeValue;
  15.     } else {
  16.  
  17.         cuerpo_txt.text = "Error al verificar";
  18.     }
  19. };
  20.  
  21. /*#######################################*/
  22.  
  23. function verificar()
  24. {
  25. elXml.load("pass.xml");
  26. if((user_txt.text == usuario)  && ( password_txt.text == clave))
  27. {
  28.     _root.gotoAndStop(3);
  29. }else{
  30.     _root.gotoAndStop(2);
  31. }
  32.  
  33. }
  34.  
  35. /*#######################################*/
  36.  
  37. submit_btn.onRelease = function (){
  38.     verificar();
  39. }

aqui tienes los archivos FUENTE para que los mires (o miren)

http://www.gigasize.com/get.php?d=kd51qrqm93b

ESPERO TE SIRVA y a otros tambien.. por suerte me agarrase en un momento de ocio total.

PD: NOTARAN QUE EN EL CAMPO DE INTRODUCCION DE TEXTO "USER_TXT" APARECEN LOS CARACTERES CON **** ASTERISCOS.. ES SOLO PORQUE UTILICE EL COMPONENTE INPUTTEXT DE FLASH... PARA MODIFICARLO, Y APAREZCAN CARACTERES NORMALES EN ESE CAMPO SOLO DEBEN UBICAR EL PANEL "PARAMETROS" O "PARAMETERS", Y EN LAS OPCION PASSWORD, PONERLO COMO "FALSE" Y LISTO
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 22/05/2010 a las 19:20

Etiquetas: contraseña
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:56.