Foros del Web » Programando para Internet » ASP Clásico »

Les dejo un tutorial para crear un login en asp sql y access, espero comentarios

Estas en el tema de Les dejo un tutorial para crear un login en asp sql y access, espero comentarios en el foro de ASP Clásico en Foros del Web. Creado por dismotion.com Primera Parte :: Creación de la base de datos Antes que nada, debemos crear una base de datos en Access, para lo ...
  #1 (permalink)  
Antiguo 11/12/2005, 11:49
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Ubicación: Cordoba-Argentina
Mensajes: 28
Antigüedad: 18 años, 8 meses
Puntos: 0
Les dejo un tutorial para crear un login en asp sql y access, espero comentarios

Creado por dismotion.com

Primera Parte :: Creación de la base de datos

Antes que nada, debemos crear una base de datos en Access, para lo cual les dejo las siguientes instrucciones:

Primer Paso:

Vamos a ir a Access y elegimos crear una nueva base de datos en blanco y la guardamos con el nombre de "basedatos"

Creamos una tabla en vista de diseño.

En esta tabla, estableceremos los datos que le queremos pedir a nuestro usuario, en este caso, pediremos los datos básicos usuario y contraseña.

Para poder crea esto, en la tabla, se ven renglones blancos y en estos introduciremos nuestros campos.

En el primer campo, introducimos "id" y le asignamos autonumérico

En el segundo le asignamos "usuario"

En el tercero le asignamos "contrasena" (recuerden que es convenientes no usar ñ ni acentos ni espacios en blanco) y le asignamos que sea texto.

Cerramos la tabla y nos preguntara si deseamos guardar los cambios y le decimos que si y lo guardamos como "usuarios".

Para los que no saben SQL, les paso el pequeño código necesario

Para el que quiere aprender a crearla sin necesidad de saber SQL les dejo las siguientes instrucciones

Crearemos una consulta en Access que se encuentra justo abajo de la sección tablas.

Iremos a consulta y crearemos una en vista de diseño.

Nos pedirá que elijamos de que tabla queremos seleccionar los datos y elegiremos la tabla "usuarios" que creamos anteriormente.

Ahora debemos arrastrar “usuario y contrasena " a los campos, pero esta vez en forma vertical.

Cerramos esta consulta y la guardamos con el nombre "consulta".

En este paso acabamos de crear nuestro código SQL, para poder verlo hacemos doble clik sobre nuestra consulta, nos vamos al menú VER y seleccionamos vista SQL y copiamos el código que vemos

" SELECT * FROM usuarios WHERE usuario".

Para poder tener un usuario y una contraseña, debemos ir a nuestra tabla y crear manualmente uno o varios nombres de usuarios con sus contraseñas.

Una vez hecho esto cerramos la base y creamos nuestra página de login.html utilizando algún editor de código como el Macromedia Dreamweaver, Macormedia Home Site o simplemente nuestro bloc de notas de Windows.

Segunda Parte :: Creación del ASP


Crearemos un formulario en HTML y lo vincularemos a una página en ASP que hace el control de datos que se llamara controlusuario.asp la cual crearemos más tarde.

El código para el formulario en HTML es el siguiente:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
</head>

<body>
<form action="controlusuario.asp" method="post" >
<p align="center">Sistema de login </p>
<table width="758" height="90" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>

<td colspan="2"><div align="center">
<input name="usuario" type="text" id="usuario" size="20" maxlength="25" />
</div></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="password" type="password" id="password" size="20" maxlength="20" />
</div></td>
</tr>
<tr>
<td width="379">

<div align="right">
<input name="Submit" type="submit" value="Entrar" />
</div></td>
<td width="379"><div align="left">
<input type="reset" name="Submit2" value="borrar" />
</div></td>
</tr>
</table>
<p></p>
</form>
</body>
</html>

Guardamos la página con el nombre de login.html.

Ahora crearemos nuestro ASP que controla los datos.

El código es el siguiente:

<%
Dim usuario, password, oConn, RS
'Primero nos fijamos si ambos campos fueron completados.
'Si no se cumple, redireccionamos a login.html
If Request.Form("usuario") = "" OR Request.Form("password") = "" then
Response.Redirect "login.html"
Else
'Guardamos los datos del Form en variables y evitamos la comilla simple
usuario = Trim(Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","''")
password = Replace(password,"'","''")

'Conectamos a nuestra BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("basedatos.mdb")

'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
sql = "SELECT * FROM usuarios WHERE usuario = '"& usuario &"'"
Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, oConn

'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
If (RS.EOF = true) then
Response.redirect("incorrecto.asp")
ElseIf RS.Fields("contrasena") = password then 'Si el campo de la tabla es igual a nuestra variable, estas logueado.
Response.redirect ("privado.asp")
Else 'Otra cosa, seria cuando el password no es la que seleccionamos.
Response.redirect("incorrecto.asp")
End If

'Limpiamos y cerramos.
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End If
%>

Esta pagina hace la verificación de los datos de usuario y contraseña, si la contraseña es correcta te redirecciona a una pagina de contenido privado o la pagina que vos quieras.

( If (RS.EOF = true) then
Response.redirect("incorrecto.asp")
ElseIf RS.Fields("contrasena") = password then 'Si el campo de la tabla es igual a nuestra variable, estas logueado.
Response.redirect ("privado.asp") )


En el caso de que los datos no sean correctos te redirecciona a una pagina que te dice que los datos no son correctos.

( Else 'Otra cosa, seria cuando el password no es la que seleccionamos.
Response.redirect("incorrecto.asp") )



Si el usuario no introduce ningún dato, te redirecciona es este caso a login.html

(If Request.Form("usuario") = "" OR Request.Form("password") = "" then
Response.Redirect "login.html").

Esperamos que este humilde tutorial les sea de utilidad.

Les dejamos la siguiente dirección para que bajen un ejemplo de este tutorial.

Espero que les sirva.


dismotion.com/ejemplo.rar

Última edición por tunait; 12/12/2005 a las 01:12
  #2 (permalink)  
Antiguo 11/12/2005, 13:33
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Hola, gracias por compartirlo, si me permites te hago dos observaciones muy rapidas.

1. Por reusabilidad del codigo yo haria esti en una clase, o de que menos unas cuantas funciones
2. No voy a dar lecciones de SQL Injection en este foro, pero este pequeno sistema es totalmente vulnerable, te sugiero utilizar consultas parametrizadas, o en las FAQs encontraras una funcion que sirve para reemplazar ciertos caracteres.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 11/12/2005 a las 13:41
  #3 (permalink)  
Antiguo 12/12/2005, 16:48
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
ahh ... tan criticón ..... (jeje)
  #4 (permalink)  
Antiguo 12/12/2005, 17:29
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Pues esperaba comentarios je je je...
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 12/12/2005, 17:43
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Sólo aclarar que el usuario ha sido banneado porque en las últimas 10 (al menos) participaciones del día de hoy lo ha hecho con el objetivo de promocionar sus servicios (y es reincidente en el tema).

Si este tutorial le es de ayuda a alguno, que es la escencia del foro, bienvenido sea ;)
__________________
...___...
  #6 (permalink)  
Antiguo 12/12/2005, 17:58
Avatar de tomchat  
Fecha de Ingreso: septiembre-2005
Mensajes: 231
Antigüedad: 18 años, 7 meses
Puntos: 0
Entonces que se puede hacer con este publicista... ahh.

Por otro lado si el usuario aporta bienvenido sea, es mejor que criticar los codigos de otros.
  #7 (permalink)  
Antiguo 07/12/2010, 17:24
Avatar de AlFcl  
Fecha de Ingreso: noviembre-2010
Mensajes: 9
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Les dejo un tutorial para crear un login en asp sql y access, espero comen

tu dices para evitar inyecciones es mejor hacer un proceso almacenado :D
  #8 (permalink)  
Antiguo 07/12/2010, 17:53
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Les dejo un tutorial para crear un login en asp sql y access, espero comen

No entendí muy bien a qué o a quién te referías con el escueto comentario, pero este tema tiene casi 5 años de abandonado y el aporte no ayuda a resolver algo del tema inicial (vamos, los procedimientos almacenados no existen en access)

Así que este tema se cierra.

Saludos
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 18:09.