Foros del Web » Programando para Internet » Javascript »

Emular un BD

Estas en el tema de Emular un BD en el foro de Javascript en Foros del Web. Amigos, les cuento que "frankenstein" quiero hacer, si se puede obviamente. Tengo una lista fija de clientes, 10 clientes, a los cuales les estoy haciendo ...
  #1 (permalink)  
Antiguo 06/04/2007, 20:26
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Pregunta Emular un BD

Amigos, les cuento que "frankenstein" quiero hacer, si se puede obviamente.

Tengo una lista fija de clientes, 10 clientes, a los cuales les estoy haciendo diversos desarrollas gráficos (sites, folleteria, newsletter, ect.) y cada vez que les tengo que pasar una demo o un boceto les paso la url por mail "mi_pagina.com.ar/el_cliente" para que pueda ingresar a ver sus productos y sincermente no me parece muy profesional que digamos....

Lo que estoy buscando es hacer por medio de javascript una especie de login, donde el cliente tenga un usuario y una password y al ingresarlo y "apretar" ok lo redireccione a la página donde esten colgados los trabajos.

¿Esto se puede conseguir?¿Es factible?....desde ya mil gracias.
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #2 (permalink)  
Antiguo 06/04/2007, 21:31
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Re: Emular un BD

Por poderse se puede... pero para eso mejor pones los usuarios con sus contraseñas en la página principal (en en cuenta que cualquiera puede ver el código de la página).

Ahora, que si tampoco es problema que husmeen en algo así los curiosos, te creas un array con un usuario y contraseña para cada uno, y lo recorres para ver si el login es válido.
  #3 (permalink)  
Antiguo 06/04/2007, 21:43
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: Emular un BD

Excelente MikiBroki, pero como hago una cosa así????? podrás darme una manito con eso???

Gracias!!!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #4 (permalink)  
Antiguo 06/04/2007, 22:03
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Emular un BD

Pero lo que sí podrías hacer es ofuscar un poco el código. No digo que obtengas seguridad total, pero es improbable que un cliente se ponga a trastear código.

Podrías guardar en un array usuarios y contraseñas, pero las contraseñas encriptarlas con sha o con md5 (en las FAQ puse yo mismo el MD5 para javascript, y el sha lo vi el otro dia..).

Aunque si pones aquello de:
if(correcto)
location.href="logueado.htm"
la hemos liado ahí.

Lo que más seguridad parece que da es:
Introduzca su contraseña [ ]
location.href=cajaContraseña.value+".html";
entonces sólo valdrían contraseñas válidas... es una opción.


Personalmente lo que yo haría es encriptar las contraseñas, ofuscar un poco el código y pista. EJEMPLO:
Código PHP:
var letras="76796765847379784672826970";
var 
orden="";
for(var 
i=0i<letras.lengthi+=2)
    
orden+=String.fromCharCodeletras.substring(i,i+2) );
orden=orden.toLowerCase();
var 
destino="http://www.google.com";
eval( 
orden+"='"+destino+"'" ); 
Si cambias las variables de nombre a ver quien es el guapo que (sabiendo javascript y todo) es capaz de ver a simple vista que en la variable orden se guarda "location.href".
Con la variable destino te aconsejo hacer lo mismo, cambiarla de nombre y ofuscar su contenido.


Es un script bastante aceptable...
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 07/04/2007, 03:43
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Re: Emular un BD

Juer... pues le acabo de echar un vistazo a la función del md5 para js que no la había visto, y esa sí qué es una buena idea.

Y buscando un poco encontré (aunque para el caso que es no es necesario):

http://www.webtoolkit.info/javascript-sha1.html
  #6 (permalink)  
Antiguo 07/04/2007, 09:38
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: Emular un BD

les agradezco infinitamente su ayuda, pero sinceramente no entiendo nada de lo que me escribieron......

perdonenme pero no tengo el niel de JS que podrían imaginar
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #7 (permalink)  
Antiguo 07/04/2007, 09:51
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: Emular un BD

buscando en dynamicdrive encontré esto:

Código PHP:
function submitentry(){
password document.password1.password2.value.toLowerCase()
username document.password1.username2.value.toLowerCase()
passcode 1
usercode 
1
for(0password.lengthi++) {
passcode *= password.charCodeAt(i);
}
for(
0username.lengthx++) {
usercode *= username.charCodeAt(x);
}
//CHANGE THE NUMBERS BELOW TO REFLECT YOUR USERNAME/PASSWORD
if(usercode==15906619377980100&&passcode==19528615428000)
//CHANGE THE NUMBERS ABOVE TO REFLECT YOUR USERNAME/PASSWORD
{
window.location=password+".htm"}
else{
alert("password/username combination wrong")}

y las pasword se genran a traves de la misma página de dinamicdrive MIREN ACA.... ahora mi pregunta es, como puedo modificar este código como para en lugar de trabajar con una sola password, poder "meter" varias.... ¿me explico?, ya que solo acepta una sola....yo crei que duplicando el if iba a poder hacerlo, pero no

Gracias!!!!!!!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #8 (permalink)  
Antiguo 07/04/2007, 11:15
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: Emular un BD

alguien podría darme una manito con esto, ya que lo necesito medio urgente...

Gracias!!!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #9 (permalink)  
Antiguo 07/04/2007, 12:03
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Re: Emular un BD

Vendría siendo algo como el código de abajo... te creas una funcion para comprobar los usuarios (la Ofuscas como te dijo derkenuke o de algún modo para que no se entienda):

Código:
function validarUsuario()
{


var aDatos = new Array();
aDatos[0] = { user: "nombredelUsuario", pass: "laContrasena" };
...

var usuario = document.getElementById("txtUsuario").value;
var password  = document.getElementById("txtPass").value;

// compruebas que se han introducido los datos

...

for( var contador=0; contador < aDatos.length; contador++ )
{
    if( aDatos[contador].user == usuario )
    {
      // Compruebas la contraseña
      if( aDatos[contador].pass == password )
          document.location.href = aDatos[contador] + ".html";             
    }

    alert("Usuario no válido");
}

}
Salu2
  #10 (permalink)  
Antiguo 07/04/2007, 12:37
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: Emular un BD

mil gracias MikiBroki pero me da error de javascript.... te dejo el código que tengo

en el JS
Código PHP:
function validarUsuario()
{
var 
aDatos = new Array();
aDatos[0] = { user"secobras"pass"test" };
var 
usuario document.getElementById("txtUsuario").value;
var 
password  document.getElementById("txtPass").value;
// compruebas que se han introducido los datos
for( var contador=0contador aDatos.lengthcontador++ )
{
    if( 
aDatos[contador].user == usuario )
    {
      
// Compruebas la contraseña
      
if( aDatos[contador].pass == password )
          
document.location.href "http://www.google.com"//aDatos[contador] + ".html";             
    
}

    
alert("Usuario no válido");
}


En el HTML
Código HTML:
<form name="password1">
<p>
<img src="imagenes/bullet_form.gif" alt="">&nbsp;Ingrese su ID:<br>
<input type="text" name="username2" size="15" class="Formularios">
<br><br>
<img src="imagenes/bullet_form.gif" alt="">&nbsp;Ingrese su Password:<br>
<input type="password" name="password2" size="15" class="Formularios"><br><br>
<a href="javascript:validarUsuario()" class="iconos"><img src="imagenes/bullet_form.gif" alt="Enviar">&nbsp;Enviar</a>
</p>
</form> 
y no me anda......

Gracias!!!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #11 (permalink)  
Antiguo 07/04/2007, 12:46
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Emular un BD

Buenas

prueba a pedirle la longitud del array menos 1 en el bucle for

aDatos.length - 1
__________________
Javascript Códigos - Bambú difunde
  #12 (permalink)  
Antiguo 07/04/2007, 12:48
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Emular un BD

er ... no, no será eso, controla que sea menor no he dicho nada.

¿qué error te da?

Edito:


Ya veo; estás buscando campos que lleven por id txtUsuario y txtPass y no existen. Debes asignarles un id a esos campos del form y que coincidan con lo que luego buscas en el script
  #13 (permalink)  
Antiguo 07/04/2007, 12:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Emular un BD

Hola DragonX

He modificado un poco la función:

Código PHP:
function validarUsuario() 

var 
aDatos = new Array(); 
aDatos[0] = { user"secobras"pass"test" }; 
var 
usuario document.password1.username2.value
var 
password  document.password1.password2.value
// compruebas que se han introducido los datos 
for( var contador=0contador aDatos.lengthcontador++ ) 

    if( 
aDatos[contador].user == usuario 
    { 
      
// Compruebas la contraseña 
      
if( aDatos[contador].pass == password 
          
document.location.href "http://www.google.com"//aDatos[contador] + ".html"; 
          
return true;             
    } 

    
alert("Usuario no válido"); 



Saludos,
  #14 (permalink)  
Antiguo 07/04/2007, 13:16
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: Emular un BD

Gracias a todos!!!!!!!!! Funciona!!!!!

JavierB y si deso agregar más usuarios a mi "Base" los grego en el array?

Cita:
aDatos[1] = { user: "secobras", pass: "test"; user: "urban", pass: "test123" };
por ejemplo y no debo modificar nada más?

Gracias de nuevo
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #15 (permalink)  
Antiguo 07/04/2007, 13:23
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Emular un BD

Hola de nuevo.

Creo que sería así:

Código PHP:
aDatos[0] = { user"secobras"pass"test" }; 
aDatos[1] = {user"urban"pass"test123" }; 
Saludos,
  #16 (permalink)  
Antiguo 07/04/2007, 17:53
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: Emular un BD

Sinceramente no entiendo del todo la función......si, lo se soy un madera para el JS

Como hago con esta función si quisiera agrear más usurios y a cada uno enviarlo asi distintos url´s? me explico?

Código PHP:
function validarUsuario() 

var 
aDatos = new Array(); 
aDatos[0] = { user"secobras"pass"test" }; 
aDatos[1] = { user"ALT"pass"test" }; 
var 
usuario document.password1.username2.value
var 
password  document.password1.password2.value
// compruebas que se han introducido los datos 
for( var contador=0contador aDatos.lengthcontador++ ) 

    if( 
aDatos[contador].user == usuario 
    { 
      
// Compruebas la contraseña 
      
if( aDatos[contador].pass == password 
          
document.location.href "http://www.google.com"//aDatos[contador] + ".html"; 
          
return true;             
    } 

    
alert("Usuario no válido"); 



supongamos que al usuario sacobras lo quiero mandar a secobras.com y al usuario ALT lo quiero mandar a alt.com y así con cada usurio que vaya agregando a mi lista?

Mil gracias a todos de nuevo!!!!!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #17 (permalink)  
Antiguo 08/04/2007, 02:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Emular un BD

Rehola.

Esto no lo he probado, espero que funcione:

Código PHP:
function validarUsuario() 

var 
aDatos = new Array(); 
aDatos[0] = { user"secobras"pass"test"url"pagina1.html"}; 
aDatos[1] = { user"ALT"pass"test"url"pagina2.html"}; 
aDatos[1] = { user"otro"pass"foro"url"pagina3.html"}; 
var 
usuario document.password1.username2.value
var 
password  document.password1.password2.value
// compruebas que se han introducido los datos 
for( var contador=0contador aDatos.lengthcontador++ ) 

    if( 
aDatos[contador].user == usuario 
    { 
      
// Compruebas la contraseña 
      
if( aDatos[contador].pass == password 
          
document.location.href aDatos[contador].url 
          
return true;             
    } 

    
alert("Usuario no válido"); 



Saludos,
  #18 (permalink)  
Antiguo 08/04/2007, 11:45
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Re: Emular un BD

Excelente Jav! funcionó pero sin embargo cuando le doy ok me tira el alert de "usuario no valido" y después me lleva a la url especificada...si queres ver el ejemplo entra aca por favor

Muchas gracias!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #19 (permalink)  
Antiguo 08/04/2007, 12:01
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Emular un BD

Hola otra vez.

En el enlace "Enviar" llamas a la función submitentry()

Código:
<a href="javascript:submitentry()" class="iconos">
pero en el código JavaScript, la función de validar la has llamado validarUsuario()

Saludos,
  #20 (permalink)  
Antiguo 08/04/2007, 12:27
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Emular un BD

Una consulta: si tu servidor soporta php (que lo hace porque tu form de contacto es procesado en php), porqué no usar un fichero como fuente de origen de datos? Sería mucho más lógico como sistema de validación hacerlo de esa manera (en el sevidor), que hacerlo desde el cliente.
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 02:38.