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

Validar sesion de usuario con ASP

Estas en el tema de Validar sesion de usuario con ASP en el foro de ASP Clásico en Foros del Web. Hola, tengo este código junto con un formulario y una base de datos en donde se encuentran los nombres y passwords de los usuarios, esta ...
  #1 (permalink)  
Antiguo 19/09/2008, 13:54
 
Fecha de Ingreso: septiembre-2008
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 0
Validar sesion de usuario con ASP

Hola, tengo este código junto con un formulario y una base de datos en donde se encuentran los nombres y passwords de los usuarios, esta se llama
"administrar_nexo.asp" :

<%
IF Request.Form("nombre")="" AND request.form("password")="" THEN
%>

(<html><head></head> luego..)

<%
ELSE
'Session("usuario")=request.form("nombre")
'Session("password")=request.form("password")

Dim oconn,objrs,strsql
set oconn=server.createobject("adodb.connection")
set objrs=server.createobject("adodb.recordset")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\ddpharma\datos\datos_ddpharma.mdb "))

strSQL= "SELECT * FROM ADMINISTRADORES WHERE NOMBRE ='" & Request.Form("nombre") & "' AND PASSWORD = '" & Request.Form("password") & "';"
objrs.Open strSQL, oConn

IF NOT(objrs.BOF AND objrs.EOF) THEN

Dim aceptado
session("aceptado")="SI"
Response.redirect "administrar.asp"
ELSE
response.redirect "administrar_nexo.asp"
END IF

END IF
%>


luego... <body>

(el contenido del formulario etc...)

<form method="post" action="administrar_nexo.asp">

Usuario <input type="text" name="nombre"> &nbsp;&nbsp;&nbsp;&nbsp;
Contraseña <input type="password" name="password"> &nbsp;&nbsp;&nbsp;&nbsp;

<input type="submit" value="Entrar">

</form>

luego... </body>

</html>


.....y en cada pagina que quiero que sea privada inserto este código:

al principio: <% IF session("aceptado")="SI" THEN %>

y al final:

<%
ELSE
response.redirect "administrar_nexo.asp"
END IF
%>

pero me da este error:

------------------------------------------------------------------------------------
Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos: 'session'
/ddpharma/administrar_nexo.asp, línea 109
------------------------------------------------------------------------------------

por favor, alguien podria aclararme como hacerlo correctamente?, se los agradezco mucho de antemano, gracias.
  #2 (permalink)  
Antiguo 20/09/2008, 12:51
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Validar sesion de usuario con ASP

mmm....
este servidor es de hosting... o es propio???

por que al parecer tiene desactivadas las sessiones en el sitio

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 20/09/2008, 16:30
 
Fecha de Ingreso: septiembre-2008
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Validar sesion de usuario con ASP

Lo estoy probando en mi servidor local IIS 5 - Win XP
  #4 (permalink)  
Antiguo 21/09/2008, 06:27
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Validar sesion de usuario con ASP

Hola

Prueba a ver si tienes desactivada las session

1.Haga clic en Inicio , seleccione Programas , haga clic en Herramientas administrativas y, a continuación, haga clic en Servicios de Internet Information Server .
2.Haga clic con el botón secundario del mouse (ratón) en el sitio Web y, a continuación, haga clic en Propiedades .
3.Haga clic en la ficha Directorio particular .
4.Haga clic en Configuración y, a continuación, haga clic en la ficha Opciones de aplicación .
5.Comprueba que tienes activada la opción Habilitar el estado de la sesión .

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 21/09/2008, 14:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Validar sesion de usuario con ASP

Ok, ya lo hice, pero no funcionó, sigue dando el mismo error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos: 'session'
/ddpharma/administrar_nexo.asp, línea 109


que corresponde a:

strSQL= "SELECT * FROM ADMINISTRADORES WHERE NOMBRE ='" & Request.Form("nombre") & "' AND PASSWORD = '" & Request.Form("password") & "';"
objrs.Open strSQL, oConn

IF NOT(objrs.BOF AND objrs.EOF) THEN

Dim aceptado
session("aceptado")="SI" ---------------------------------------------------ESTA LINEA es la 109
Response.redirect "administrar.asp"
ELSE
response.redirect "administrar_nexo.asp"
END IF

END IF
%>
  #6 (permalink)  
Antiguo 21/09/2008, 20:14
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Validar sesion de usuario con ASP

haz probado crear otras vvariables con otros nombres a ver si te permite crear la sessón?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #7 (permalink)  
Antiguo 22/09/2008, 18:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Validar sesion de usuario con ASP

Ups!!! perdón a todos nos pasa, el problema era este:

<%
@ LANGUAGE=VBSCRIPT
ENABLESESSIONSTATE=FALSE
%>

lo cambié a :

<%
@ LANGUAGE=VBSCRIPT
ENABLESESSIONSTATE=TRUE
%>

y logicamente funciona sin ningún problema.

GRACIAS! a todos por sus respuestas...
  #8 (permalink)  
Antiguo 22/09/2008, 19:31
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Validar sesion de usuario con ASP

Cita:
Iniciado por Edyvargas Ver Mensaje
Ups!!! perdón a todos nos pasa, el problema era este:

<%
@ LANGUAGE=VBSCRIPT
ENABLESESSIONSTATE=FALSE
%>

lo cambié a :

<%
@ LANGUAGE=VBSCRIPT
ENABLESESSIONSTATE=TRUE
%>

y logicamente funciona sin ningún problema.

GRACIAS! a todos por sus respuestas...
jajajjaa, asi pasa cuando sucede....

por eso debe uno tener una paciencia muy buena a la hora de depurar una aplicacion

...
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #9 (permalink)  
Antiguo 23/09/2008, 09:14
 
Fecha de Ingreso: octubre-2006
Mensajes: 68
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Validar sesion de usuario con ASP

Cuidandito, tal y como haces la validación te pueden entrar fácilmente con un usuario o password tal que así

pass= ' or 'a'='a

La query que envias al servidor es

SELECT * FROM ADMINISTRADORES WHERE NOMBRE ='" loquesea"' AND PASSWORD = '' or 'a'='a'

y ya esta dentro
  #10 (permalink)  
Antiguo 23/09/2008, 11:42
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Validar sesion de usuario con ASP

Hola

Cita:
Iniciado por berthus Ver Mensaje
Cuidandito, tal y como haces la validación te pueden entrar fácilmente con un usuario o password tal que así

pass= ' or 'a'='a

La query que envias al servidor es

SELECT * FROM ADMINISTRADORES WHERE NOMBRE ='" loquesea"' AND PASSWORD = '' or 'a'='a'

y ya esta dentro
Una "solución"

http://www.forosdelweb.com/f15/crear...7/#post2590201 (Por JuanRa)

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 26/09/2008, 13:34
 
Fecha de Ingreso: septiembre-2008
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Validar sesion de usuario con ASP

Voy a probarlo, Gracias...
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 21:00.