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

pagina asp con usuarios y claves

Estas en el tema de pagina asp con usuarios y claves en el foro de ASP Clásico en Foros del Web. ¿alguien sabe como podría hacer una BD en access con los campos usuario y contraseña para que permitiera el acceso a una carpeta o directorio ...

  #1 (permalink)  
Antiguo 03/07/2002, 05:53
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
pagina asp con usuarios y claves

¿alguien sabe como podría hacer una BD en access con los campos usuario y contraseña para que permitiera el acceso a una carpeta o directorio de mi web?

Espero sus respuestas con interés.

Salu2
ByE
  #2 (permalink)  
Antiguo 03/07/2002, 09:35
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: pagina asp con usuarios y claves

podrias contarnos un poco ms tu idea...quieres hacer una base de datos solamente o con pagina asp incluida...

no tienen nada que ver con accesos y privilegios de administracion NT?
  #3 (permalink)  
Antiguo 03/07/2002, 10:04
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

con pagina asp incluida. uuhhhh, no se como explicarme, veras, una BD con la lista de usuarios con sus claves. y en una página asp comprobar si ese usuario es valido con la base de datos y redireccionarlo a mi pagina particular.

Dime si me he explicado.
  #4 (permalink)  
Antiguo 03/07/2002, 10:14
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: pagina asp con usuarios y claves

entonces lo que quieres es hacer una pagina ke ingresando user y pwd te mande a una pagina en particular con sus privilegios por cada usuario?...

si es eso podrias empezar por aqui

<a href='ir.asp?http://www.programacionactual.com/index.asp?opcion=readart&amp;ID=12' target='_blank'>http://www.programacionactual.com/index....</a>

me imagino ke ya sabes como construir tu b de datos en access
  #5 (permalink)  
Antiguo 03/07/2002, 11:16
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

bueno, voy a mirar el link.

conozco el access pero ignoro como darle a los campos claves y contraseñas.

luego te cuento.

Salu2
ByE
  #6 (permalink)  
Antiguo 09/07/2002, 04:44
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

Hola bakanzip, bueno, parecía que me había muerto ¡¡¡pero no!!! he resucitado de las cenizas.

Bueno, la verdad es que necesito que me eches un cable, estuve con el link que me aconsejastes, y aunque se explica todo bien, yo choy un torpe en asp.

bueno, no me enrollo más y echa un vistazo a este link
<a href='ir.asp?http://www.forosdelweb.com/mensaje.asp?id=88850' target='_blank'>http://www.forosdelweb.com/mensaje.asp?i...</a>

Espero tu respuesta.

Salu2
ByE
  #7 (permalink)  
Antiguo 09/07/2002, 15:13
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: pagina asp con usuarios y claves

hhmm...
veo que tienes dos paginas (index.asp y login.asp) pero en el codigo de index.asp tienes lo mismo que login.asp (why?)...

si te sale un error 550...tratar de hacer lo mismo con netscape para que te describa el problema...

tb te recomiendo hacerle response.write a la cadena SQL para ver que te traiga bien los datos...pero por lo que vi lo del codigo index.asp parece ok...kizas sea la conexion al odbc o algo...

avisa como te fue..

  #8 (permalink)  
Antiguo 10/07/2002, 02:45
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

Cita:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado

/index.asp, line 30
Oye, tenías razón, he hecho lo que me has dicho y ya me dice donde está el error, me dice que en la página index.asp el error está en la linea 30, que es donde tiene que abrir ODBC.

Verás, yo que he creado un DNS de sistema y en esa línea he puesto...

Cita:
Creamos objeto conexion
set dbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
dbConn.open DSN=&quot;EjerXP&quot;
pero me sigue dando el mismo error, echale un vistazo, por fa. estoy atascao con este código y lo más gracioso de todo que es sencillo.

Gracias.
Salu2
ByE
  #9 (permalink)  
Antiguo 10/07/2002, 04:10
 
Fecha de Ingreso: abril-2002
Ubicación: Madrid
Mensajes: 65
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: pagina asp con usuarios y claves

Mira, esto te debe funcionar:

Dim objConexion
Set objConexion = Server.CreateObject(&quot;ADODB.Connection&quot;)
objConexion.Open &quot;NombreDSN &quot;,&quot;&quot;,&quot;&quot;

Si no te funciona, comprueba que en la DSN hayas seleccionado el Driver adecuado para Access.
Ya nos contarás
  #10 (permalink)  
Antiguo 10/07/2002, 06:06
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

¡¡¡¡¡por fin lo logre amigos!!!!!

Al final eran falsos los rumores que escuché en el foro de jvscrip de que en el foro de asp nadie te echa una mano.

He tenido que retocar un poco el código y la verdad es que no se si funciona todo.

PERO LO QUE YO QUERIA ES QUE POR MEDIO DE UN FORMULARIO DE ENTRADA SE ENVIARA EL LOGIN Y PASSWORD A UNA BD Y SI LOS REGISTROS SON CORRECTOS, ENTRAS A LA PAGINA RESTRINGIDA Y SI NO A LA PAGINA DE ERROR.

A CONTINUACION OS LO EXPLICO TODO, TODO LO QUE HE HECHO CON DETALLES.
  #11 (permalink)  
Antiguo 10/07/2002, 06:10
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

HE HECHO 4 PAGINAS, index.asp login.asp y pagina_restringida.htm y pagina_error.htm

en la index.asp inserto el siguiente código.

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;index.asp&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;%
' Si no recibimos nada enviado de un formulario.
IF request.form=&quot;&quot; THEN
%&gt;

&lt;form action=&quot;index.asp&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;login&quot; size=&quot;20&quot;&gt;
&lt;br&gt;
&lt;input type=&quot;password&quot; name=&quot;password&quot; size=&quot;20&quot;&gt;
&lt;br&gt;
&lt;input type=&quot;submit&quot; value=&quot;Login&quot;&gt;
&lt;/form&gt;

&lt;%
ELSE
'Introducimos los valores en variables de tipo Session para
'hacer comprobaciones en futuras páginas.
Session(&quot;login&quot;)=request.form(&quot;logi n&quot;)
Session(&quot;password&quot;)=request.form(&quot;p assword&quot;)



'Creamos objeto conexion
basedatos=server.mappath(&quot;login y password.mdb&quot;)
set dbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
dbConn.open &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot; &amp; basedatos &amp; &quot;;&quot;


'Buscamos si en la Tabla de la BD si hay un usuario con ese Login y Password
SQL=&quot;SELECT * FROM NOMBRETABLA&quot;
Set RS=dbConn.execute(SQL)

'Si el recordset es vacio quiere decir que no hay usuarios.
IF RS.eof THEN

'Por lo tanto le redireccionamos a la página de inicio para
'que lo vuelva a intentar
response.redirect &quot;htt://www.misitio.com/pagina_de_error.htm&quot;
response.buffer=True
response.clear
ELSE

'Si el recordset tiene valor es de suponer que ha encontrado el usuario y
'le dejamos pasar.
response.redirect &quot;http://www.misitio.com/pagina_protegida.htm&quot;
response.buffer=True
response.clear
END IF
END IF
%&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;

CONTINUO
  #12 (permalink)  
Antiguo 10/07/2002, 06:17
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

EN LA PAGINA LOGIN.ASP EL SIGUIENTE CODIGO.

&lt;%
basedatos=server.mappath(&quot;login y password.mdb&quot;)
set dbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
dbConn.open &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot; &amp; basedatos &amp; &quot;;&quot;
SQL=&quot;SELECT * FROM NOMBRETABLA WHERE CampoLogin='&quot; &amp; Session(&quot;login&quot;) &amp; &quot;' AND CampoPassword='&quot; &amp; Session(&quot;password&quot;) &amp; &quot;'&quot;
Set RS=dbConn.execute(SQL)
IF RS.eof THEN
response.redirect &quot;http://www.misitio.com/index.asp&quot;
response.buffer=True
response.clear
END IF
%&gt;

y por último en todas las páginas restringidas....

meto este includes
&lt;!-- #include file=&quot;login.asp&quot; --&gt;

Bueno, echarle un vistazo y me contais que tal.

Como vereis aunque soy un novato en ASP, gracias a vuestros consejos me sirve.

La duda que tengo es que pasa si borro en el login.asp lo siguiente
Cita:
WHERE CampoLogin='&quot; &amp; Session(&quot;login&quot;) &amp; &quot;' AND CampoPassword='&quot; &amp; Session(&quot;password&quot;) &amp; &quot;'&quot;
porque si os fijais con el código del principio del todo en este post, en la página index.asp borre esa sentencia SQL.
¿para que sirve?



Espero tu respuesta.

Salu2
ByE




<html>
<body>
<p align="left"><font color="#FF0000" face="Comic Sans MS" size="2">Aprendiz
de todo y maestro de nada[/CODE]
</p>
</body>
</html>
  #13 (permalink)  
Antiguo 10/07/2002, 08:53
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: pagina asp con usuarios y claves

Cita:
veo que tienes dos paginas (index.asp y login.asp) pero en el codigo de index.asp tienes lo mismo que login.asp (why?)...
me alegro que hayas resuelto tus problemas pero parece que no leiste entero el ultimo post que te deje..

el login.asp hace realmente la consulta a tu base de datos..

Código:
  
select * from tabla
where nombre=&quot;'&amp; nombre &amp;&quot;' and pwd=&quot;'&amp; nombre &amp;&quot;'

esta consulta busca en tu base de datos al usuario con los datos que ingresaste al formulario...

es decir...busca a Juan con clave XXXX...si no esta te manda a la pagina de error si lo encuentra loguea bien...

si haces

select * from tabla

estas rescatando TODOS los registros que hay en tu tabla de usuario sin diferenciar cual estas validando...

por eso te sugiero que revises bien tu codigo y veas cual de las dos paginas es la que te busca verdaderamente al usuario..por lo que veo la correcta es la del login.asp
pero no lo tengo claro..

suerte
  #14 (permalink)  
Antiguo 10/07/2002, 12:14
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

ME DEJAS PREOCUPADO UUUUHHHHHHHH

VOY A MIRARLO Y LUEGO TE DIGO....

  #15 (permalink)  
Antiguo 11/07/2002, 06:36
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

NECESITO AYUDA. :(
Tienes razón

He estado probando y sucede lo más tonto posible, si introduces cualquier tipo de login y password, el sistema no te lo loguea, sino que automaticamente te deja pasar a la pagina protegida sin más.

MI GOZO EN UN POZO.

Nesecito dar con esto o si no me cortan el cuello.

Te envió el código que tengo pa que me eches un cable,
en la index.asp.........

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Login&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;%
' Si no recibimos nada enviado de un formulario.
IF request.form=&quot;&quot; THEN
%&gt;

&lt;form action=&quot;index.asp&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;login&quot; size=&quot;20&quot;&gt;
&lt;br&gt;
&lt;input type=&quot;password&quot; name=&quot;password&quot; size=&quot;20&quot;&gt;
&lt;br&gt;
&lt;input type=&quot;submit&quot; value=&quot;Login&quot;&gt;
&lt;/form&gt;

&lt;%
ELSE
'Introducimos los valores en variables de tipo Session para
'hacer comprobaciones en futuras páginas.
Session(&quot;login&quot;)=request.form(&quot;logi n&quot;)
Session(&quot;password&quot;)=request.form(&quot;p assword&quot;)

'Creamos objeto conexion
basedatos=server.mappath(&quot;login.mdb&quot;)
set dbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
dbConn.open &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot; &amp; basedatos &amp; &quot;;&quot;


'Buscamos si en la Tabla de la BD si hay un usuario con ese Login y Password
SQL=&quot;SELECT * FROM login&quot;

Set RS=dbConn.execute(SQL)

'Si el recordset es vacio quiere decir que no hay usuarios.

IF RS.eof THEN

'Por lo tanto le redireccionamos a la página de inicio para
'que lo vuelva a intentar
response.redirect &quot;http://www.misitio.com/pagina_de_error.htm&quot;
response.buffer=True
response.clear
ELSE

'Si el recordset tiene valor es de suponer que ha encontrado el usuario y
'le dejamos pasar.
response.redirect &quot;http://www.misitio.com/pagina_protegida.htm&quot;
response.buffer=True
response.clear
END IF
END IF
%&gt;

&lt;/body&gt;
&lt;/html&gt;
'CONTINUO ABAJO
  #16 (permalink)  
Antiguo 11/07/2002, 06:39
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

'SIGO

'EN LA PÁGINA LOGIN.ASP

&lt;%
'Creamos objeto conexion
basedatos=server.mappath(&quot;login.mdb&quot;)
set dbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
dbConn.open &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot; &amp; basedatos &amp; &quot;;&quot;
SQL=&quot;SELECT * FROM login WHERE CampoLogin='&quot; &amp; Session(&quot;login&quot;) &amp; &quot;' AND CampoPassword='&quot; &amp; Session(&quot;password&quot;) &amp; &quot;'&quot;
Set RS=dbConn.execute(SQL)
IF RS.eof THEN
response.redirect &quot;http://www.misitio.com/pagina_de_error.asp&quot;
response.buffer=True
response.clear
END IF
%&gt;



del código fuente original en la index.asp retoqué lo siguiente
Cita:
SQL=&quot;SELECT * FROM login WHERE CampoLogin='&quot; &amp; Session(&quot;login&quot;) &amp; &quot;' AND CampoPassword='&quot; &amp; Session(&quot;password&quot;) &amp; &quot;'&quot;
A VER SI PODEIS DECIRME QUE ME PASA QUE ME ESTOY VOLVIENDO LOCO

Espero tu respuesta.

Salu2
ByE

  #17 (permalink)  
Antiguo 11/07/2002, 13:57
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: pagina asp con usuarios y claves

voy de nuevo a lo mismo...utiliza una de las dos para validar el login....UNA de las DOS...
a ver olvidate de la pagina login.asp y en index haz la validacion....

Código:
  
html&gt;
&lt;head&gt;
&lt;title&gt;index.asp&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt; 
&lt;%
' Si no recibimos nada enviado de un formulario.
IF request.form=&quot;&quot; THEN
%&gt; 
&lt;form action=&quot;index.asp&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;login&quot; size=&quot;20&quot;&gt;
&lt;br&gt;
&lt;input type=&quot;password&quot; name=&quot;password&quot; size=&quot;20&quot;&gt;
&lt;br&gt;
&lt;input type=&quot;submit&quot; value=&quot;Login&quot;&gt;
&lt;/form&gt;

&lt;%
ELSE
'Introducimos los valores en variables de tipo Session para 
'hacer comprobaciones en futuras páginas. 
Session(&quot;login&quot;)=request.form(&quot;login&quot;) 
Session(&quot;password&quot;)=request.form(&quot;password&quot;) 

'Creamos objeto conexion
basedatos=server.mappath(&quot;login.mdb&quot;)
set dbConn = Server.CreateObject(&quot;ADODB.Connection&quot;) 
dbConn.open &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot; &amp; basedatos &amp; &quot;;&quot;
'Buscamos si en la Tabla de la BD si hay un usuario con ese Login y Password 
SQL=&quot;SELECT * FROM login WHERE CampoLogin='&quot; &amp; Session(&quot;login&quot;) &amp; &quot;' AND CampoPassword='&quot; &amp; Session(&quot;password&quot;) &amp; &quot;'&quot; 
Set RS=dbConn.execute(SQL) 

'Si el recordset es vacio quiere decir que no hay usuario con esos datos ingresados. 
IF (RS.eof) and (rs.BOF) THEN 

'Por lo tanto le redireccionamos a la página de inicio para 
'que lo vuelva a intentar
response.redirect &quot;htt://www.misitio.com/pagina_de_error.htm&quot; 
response.buffer=True 
response.clear 
ELSE 

'Si el recordset tiene valor es de suponer que ha encontrado el usuario y 
'le dejamos pasar.
response.redirect &quot;http://www.misitio.com/pagina_protegida.htm&quot; 
response.buffer=True 
response.clear 
END IF 
END IF 
%&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;
espero que te sriva...prueba con esta pagina..NO uses la otra
  #18 (permalink)  
Antiguo 12/07/2002, 02:25
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

bueno, voy a verlo
  #19 (permalink)  
Antiguo 12/07/2002, 02:45
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

Bueno, mira Bakanzip, he probado con el código solo de index.asp y me da el siguiente error...

Microsoft JET Database Engine error '80040e10'

No se han especificado valores para algunos de los parámetros requeridos.

/index.asp, line 33

donde linea 33 de la index.asp es lo siguiente.

Cita:
Set RS=dbConn.execute(SQL)
No se a que será debido, estoy pensando en volver al principio del todo a probar con el código original que utilizaba DSN,

¿COMO LOS VES?

Espero tu respuesta.

Salu2
ByE



  #20 (permalink)  
Antiguo 12/07/2002, 04:56
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

HOLA BAKANZIP, mira, al final lo he podido sacar con otro script que he visto, me ha salido a la primera,
este es el script con el que lo he hecho....

&lt;%if request.form(&quot;usuario&quot;)=&quot;&quot; then%&gt;
&lt;form method=&quot;POST&quot; action=&quot;login.asp&quot;&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;%=request.querystr ing(&quot;msg&quot;)%&gt;&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;center&gt;
&lt;table border=&quot;0&quot; width=&quot;50%&quot; bgcolor=&quot;#F2F2F2&quot;&gt;
&lt;tr&gt;
&lt;td width=&quot;100%&quot; colspan=&quot;2&quot; bgcolor=&quot;#0000FF&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;font color=&quot;#FFFFFF&quot;&gt;Login&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;50%&quot;&gt;Usuario:&lt;/td&gt;
&lt;td width=&quot;50%&quot;&gt;&lt;input type=&quot;text&quot; name=&quot;usuario&quot; size=&quot;20&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;50%&quot;&gt;Password: &lt;/td&gt;
&lt;td width=&quot;50%&quot;&gt; &lt;input type=&quot;password&quot; name=&quot;password&quot; size=&quot;20&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;100%&quot; colspan=&quot;2&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;input type=&quot;submit&quot; value=&quot;Enviar&quot; name=&quot;B1&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/center&gt;
&lt;/div&gt;
&lt;/form&gt;


&lt;%else
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
usuario=replace(request.form(&quot;usuario&quot;), &quot;'&quot;,&quot;&quot;)
password=replace(request.form(&quot;password&quot; ),&quot;'&quot;,&quot;&quot;)

Set Conn = Server.CreateObject(&quot;ADODB.Connection&quot;)
Conn.Open(&quot;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=&quot; &amp; Server.MapPath(&quot;\BD\XXXX.mdb&quot;))
set rs = CreateObject(&quot;ADODB.Recordset&quot;)
sqltxt=&quot;Select * from usuarios where usuario='&quot;&amp;usuario&amp;&quot;' and password= '&quot;&amp;password&amp;&quot;'&quot;
'response.write sqltxt
rs.Open sqltxt, conn
if not rs.eof then
' nos ha devuelto un registro, ahora miraremos si es valido
' con ello evitamos el ataque típico SQL
if rs(&quot;usuario&quot;)=usuario and rs(&quot;password&quot;)=password then
' si el usuario esta en la base de datos y la password coincide
session(&quot;autorizacion&quot;)=1
response.redirect &quot;pagina_protegida.htm&quot;
end if
else
session(&quot;autorizacion&quot;)=-1

end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if session(&quot;autorizacion&quot;)=-1 or session(&quot;autorizacion&quot;)=&quot;&quot; then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son erroneos
response.redirect &quot;login.asp?msg=Usuario%20o%20password%20incor recta&quot;
end if

end if%&gt;

&lt;/head&gt;

&lt;body&gt;

&lt;/body&gt;

&lt;/html&gt;
  #21 (permalink)  
Antiguo 12/07/2002, 04:58
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

y en las páginas donde queremos loguear la login.asp ponemos...

&lt;% if session(&quot;autorizacion&quot;)&lt;&gt;1 then
response.redirect &quot;login.asp&quot;


  #22 (permalink)  
Antiguo 12/07/2002, 05:11
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

Bueno, pues una vez visto esto pasamos al plan B ¿vale?

Te cuento la metodología. Todo esto lo hago para mi academia de informatica je je. Resulta que el alumno entra con este script con su usuario y password que yo le he proporcionado que tengo en mi BD en access.

Cita:
PERO LO QUE ME INTERESA ES QUE UNA VEZ DENTRO DEL WEB DE LA ACADEMIA NO TODOS LOS ALUMNOS PUEDAN VER LAS MISMAS PAGINAS, POR EJEMPLO, LAS PAGINAS DE LOS EJERCICIOS CORRESPONDIENTE A CADA ASIGNATURA, ESTO HABÍA PENSADO HACERLO CON EL OBJETO SESSION.
En la BD en access he creado otro campo denominado CURSO.

Quisiera que con el código anterior que restringe la página también creara la sesión curso y al pulsar en los ejercicios de xp o bien los ejercicios de mecanografía buscara la variable sesion el valor que yo le he dado en la BD en access.

Si te fijas, anteriormente, el código ya crea otro objeto sesion denominado &quot;autorización&quot; y le da el valor=1

QUIZAS ESTO HABRÍA QUE RETOCARLO PARA CREAR LA SESION(&quot;CURSO&quot;)

bueno, en el siguiente post te comento lo que he empezado a hacer....
  #23 (permalink)  
Antiguo 12/07/2002, 05:59
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

CONTINUO AQUI JE JE

en la BD dentro de la tabla USUARIOS hay tres campos, usuario, password y curso.

Pues bien, retocando un poco el código anterior he pensado en lo siguiente. una vez que el alumno envia el usuario y el password por medio del formulario entonces debemos crear la sesión curso...

Cita:
SQL2=&quot;SELECT curso FROM usuarios WHERE usuario='&quot;&amp;usuario&amp;&quot;' AND password='&quot;password&quot;'&quot;

set session(&quot;curso&quot;)=Conn.execute(SQL2)
y en las páginas de los ejercicios distintos de cada alumno es donde tenemos que validar el objeto session para ver si corresponde con el valor que le hemos dado en la BD dentro del campo curso ??????

Cita:
&lt;%
if session(&quot;curso&quot;)=&quot;xp&quot;
THEN
%&gt;
&lt;html&gt;
&lt;head&gt;
&lt;/html&gt;
&lt;%
ELSE
response.redirect&quot;este_no_es_tu_curso.htm&quo t;
END IF
%&gt;
BUENO ¿QUE TE PARECE ASÍ DE MOMENTO?

VOY A PROBARLO Y LUEGO TE DIGO. A CONTINUACIÓN TE ENVÍO TODO EL CÓDIGO.

ESPERO TU RESPUESTA.
  #24 (permalink)  
Antiguo 12/07/2002, 06:50
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

&lt;%if request.form(&quot;usuario&quot;)=&quot;&quot; then%&gt;
&lt;form method=&quot;POST&quot; action=&quot;login.asp&quot;&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;%=request.querystr ing(&quot;msg&quot;)%&gt;&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;center&gt;
&lt;table border=&quot;0&quot; width=&quot;50%&quot; bgcolor=&quot;#F2F2F2&quot;&gt;
&lt;tr&gt;
&lt;td width=&quot;100%&quot; colspan=&quot;2&quot; bgcolor=&quot;#0000FF&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;font color=&quot;#FFFFFF&quot;&gt;Login&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;50%&quot;&gt;Usuario:&lt;/td&gt;
&lt;td width=&quot;50%&quot;&gt;&lt;input type=&quot;text&quot; name=&quot;usuario&quot; size=&quot;20&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;50%&quot;&gt;Password: &lt;/td&gt;
&lt;td width=&quot;50%&quot;&gt; &lt;input type=&quot;password&quot; name=&quot;password&quot; size=&quot;20&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;100%&quot; colspan=&quot;2&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;input type=&quot;submit&quot; value=&quot;Enviar&quot; name=&quot;B1&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/center&gt;
&lt;/div&gt;
&lt;/form&gt;


&lt;%else
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
usuario=replace(request.form(&quot;usuario&quot;), &quot;'&quot;,&quot;&quot;)
password=replace(request.form(&quot;password&quot; ),&quot;'&quot;,&quot;&quot;)

Set Conn = Server.CreateObject(&quot;ADODB.Connection&quot;)
Conn.Open(&quot;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=&quot; &amp; Server.MapPath(&quot;\BD\XXXX.mdb&quot;))
set rs = CreateObject(&quot;ADODB.Recordset&quot;)
sqltxt=&quot;Select * from usuarios where usuario='&quot;&amp;usuario&amp;&quot;' and password= '&quot;&amp;password&amp;&quot;'&quot;
'response.write sqltxt
rs.Open sqltxt, conn
if not rs.eof then
' nos ha devuelto un registro, ahora miraremos si es valido
' con ello evitamos el ataque típico SQL
if rs(&quot;usuario&quot;)=usuario and rs(&quot;password&quot;)=password then
' si el usuario esta en la base de datos y la password coincide
session(&quot;curso&quot;)=rs(&quot;curso&quot;)
response.redirect &quot;pagina_protegida.htm&quot;
end if
else
autorizacion =-1

end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if autorizacion=-1 or autorizacion=&quot;&quot; then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son piratillas
response.redirect &quot;login.asp?msg=Usuario%20o%20password%20incor rectos&quot;
end if
end if%&gt;

'CONTINUO EN EL SIGUIENTE
  #25 (permalink)  
Antiguo 12/07/2002, 06:57
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

'Y ahora en cada página de ejercicios intento loguear o validar la sesión con el valor que tiene el campo curso en BD.

'voy a probar lo siguiente

&lt;%
if session(&quot;curso&quot;)=&quot;xp&quot;
THEN
%&gt;
'si valor de la sesion curso corresponde con el de la BD carga la página de los ejercicios

&lt;html&gt;
&lt;head&gt;
&lt;p&gt;bla bla bla etc etc&lt;/p&gt;
&lt;/html&gt;

&lt;%
ELSE
response.redirect&quot;este_no_es_tu_curso.htm&quo t;
end if
%&gt;
'si el valor de la sesion no corresponde con los datos del curso que esta en la BD del alumno lo envia a una página de aviso.

'BUENO, AMIGO VOY A PROBARLO EN LA PRACTICA Y LUEGO TE DIGO..
  #26 (permalink)  
Antiguo 12/07/2002, 09:02
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: pagina asp con usuarios y claves

veo ke has estado trabajndo duro....es la unica forma de aprender las cosas asi ke sigue dandole no ma...

solo dos acotaciones..

1. cuando rescatas el valor del curso que es un campo que tienes en tu b. de datos te recomiendo que cambies esto:

Cita:
SQL2=&quot;SELECT curso FROM usuarios WHERE usuario='&quot;&amp;usuario&amp;&quot;' AND password='&quot;password&quot;'&quot;
set session(&quot;curso&quot;)=Conn.execute(SQL2)
por esto

Código:
  
SQL2=&quot;SELECT curso FROM usuarios WHERE usuario='&quot;&amp;usuario&amp;&quot;' AND password='&quot;password&quot;'&quot;
set rs=Conn.execute(SQL2)
if not rs.eof and not rs.bof then
 session(&quot;curso&quot;)=rs(&quot;curso&quot;)
end if
2. tu me hablas de que cada usuario puede tener X cursos...quizas a hora not engas problemas ya que al parecer tus cursos son pocos...pero siempre piensa a futuro, si empieza a crecer la cantidad de cursos distintos tendras que ir alargando el codigo

Cita:
&lt;%
if session(&quot;curso&quot;)=&quot;xp&quot;
THEN
%&gt;
&lt;html&gt;
&lt;head&gt;
&lt;/html&gt;
&lt;%
ELSE
response.redirect&quot;este_no_es_tu_curso.htm&quo t;
END IF
%&gt;

sigue adelante y suerte en todo

;)

  #27 (permalink)  
Antiguo 12/07/2002, 09:20
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

gracias, voy a probar tu consejo y luego te digo... :P

Salu2
ByE
  #28 (permalink)  
Antiguo 12/07/2002, 11:22
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves


Bueno bueno, ya era hora de que el novato aportara algo pa el foro.

Antes que nada, quiero dedicar este post a todos aquellos que me han ayudado a seguir adelante,

a no rendirme y darme su mano en los malos momentos, gracias a epa1 y a Bkanzip por su paciencia
conmigo.

y ahora, despues de esto vamos al grano, je je je.

construimos una BD en access con los campos usuario, password y curso. a la tabla la he llamado
USUARIOS y la BD XXXX

hacemos una página asp llamada login.asp
' este codigo es producto de epa1 epa2 y bkanzip, usarlo libremente pero recordar siempre que recibisteis gratis dad gratis
&lt;head&gt;
&lt;title&gt;USUARIO&lt;/title&gt;
&lt;%if request.form(&quot;usuario&quot;)=&quot;&quot; then%&gt;
&lt;form method=&quot;POST&quot; action=&quot;login.asp&quot;&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;%=request.querystr ing(&quot;msg&quot;)%&gt;&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;center&gt;
&lt;table border=&quot;0&quot; width=&quot;50%&quot; bgcolor=&quot;#F2F2F2&quot;&gt;
&lt;tr&gt;
&lt;td width=&quot;100%&quot; colspan=&quot;2&quot; bgcolor=&quot;#0000FF&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;font color=&quot;#FFFFFF&quot;&gt;Login&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;50%&quot;&gt;Usuario:&lt;/td&gt;
&lt;td width=&quot;50%&quot;&gt;&lt;input type=&quot;text&quot; name=&quot;usuario&quot; size=&quot;20&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;50%&quot;&gt;Password: &lt;/td&gt;
&lt;td width=&quot;50%&quot;&gt; &lt;input type=&quot;password&quot; name=&quot;password&quot; size=&quot;20&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;100%&quot; colspan=&quot;2&quot;&gt;
&lt;p align=&quot;center&quot;&gt;&lt;input type=&quot;submit&quot; value=&quot;Enviar&quot; name=&quot;B1&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/center&gt;
&lt;/div&gt;
&lt;/form&gt;


&lt;%else
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
usuario=replace(request.form(&quot;usuario&quot;), &quot;'&quot;,&quot;&quot;)
password=replace(request.form(&quot;password&quot; ),&quot;'&quot;,&quot;&quot;)

Set Conn = Server.CreateObject(&quot;ADODB.Connection&quot;)
'abrimos la conexion y le decimos el directorio de nuestra BD y el nombre de la BD
Conn.Open(&quot;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=&quot; &amp; Server.MapPath(&quot;\BD\XXXX.mdb&quot;))
set rs = CreateObject(&quot;ADODB.Recordset&quot;)
sqltxt=&quot;Select * from usuarios where usuario='&quot;&amp;usuario&amp;&quot;' and password= '&quot;&amp;password&amp;&quot;'&quot;
'response.write sqltxt
rs.Open sqltxt, conn
if not rs.eof then
' nos ha devuelto un registro, ahora miraremos si es valido
' con ello evitamos el ataque típico SQL
if rs(&quot;usuario&quot;)=usuario and rs(&quot;password&quot;)=password then
' si el usuario esta en la base de datos y la password coincide
SQL2=&quot;SELECT curso FROM usuarios WHERE usuario='&quot;&amp;usuario&amp;&quot;' AND password='&quot;&amp;password&amp;&quot;'&quot;
set rs=Conn.execute(SQL2)
end if
if not rs.eof and not rs.bof then
' creamos la sesion con el nombre curso y le damos el valor que se encuentre dentro del campo curso de la tabla en la BD.

session(&quot;curso&quot;)=rs(&quot;curso&quot;)
session(&quot;autorizacion&quot;)=1
response.redirect &quot;pagina_protegida.asp&quot;
end if
else
autorizacion =-1

end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if autorizacion=-1 or autorizacion=&quot;&quot; then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son piratillas je je
response.redirect &quot;login.asp?msg=Usuario%20o%20password%20incor rectos&quot;
end if
end if%&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;/body&gt;

&lt;/html&gt;
  #29 (permalink)  
Antiguo 12/07/2002, 11:26
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
Re: pagina asp con usuarios y claves

'continuo aqui amigo, je je

' en la pagina a la que accedemos incluimos el siguiente código pa evitar que algún espabilao entre por la puerta de atrás tecleando directamente en la barra de navegación je je je auque es aconsejable incluirlo en todas nuestras páginas, por si acaso
' tienes que tener en cuenta una cosa MUY IMPORTANTE y es que todas las paginas donde incluyas el siguiente codigo tienen que ser asp y no htm

dentro.asp

&lt;% if session(&quot;autorizacion&quot;)&lt;&gt;1 THEN
response.redirect &quot;login.asp&quot;
end if
%&gt;

' Y YA POR FIN EL MEOLLO DE LA CUESTION LA MADRE DE TODOS LOS CORDEROS, JE JE JE JE
' LA PAGINA DE LOS EJERCICIOS QUE DISTINGUE A CADA UNO SEGUN SU SESION

ejercicios.asp

&lt;%
if session(&quot;curso&quot;)=&quot;xp&quot; THEN
%&gt;

' comprueba si la pagina de los ejercicios se corresponde con la sesion curso
' es que yo uno de los cursos que tengo en la BD es el del windows xp, je je je je

&lt;html&gt;
&lt;head&gt;
&lt;body&gt;
&lt;/body&gt;

' si todo es correcto se carga la pagina

' si no es correcto pues llego tu final amigo mio te envio de nuevo a la pagina de aviso de curso erroneo, je je je


&lt;%
ELSE
response.redirect&quot;este_no_son_tus_ejercicios_ curioso_alumno.htm&quot;
end if
%&gt;

' Bkanzip gracias por el consejo del futuro ahora mismo tengo solo 2 cursos
' ya te consultare en el futuro ¿vale?

' fin de todo amigo mio para comentarios este post estara abierto pa vosotros
' se admiten sugerencias porque soy un puerco novato en asp y necesito vuestra ayuda siempre

Salu2
ByE

<html>
<body>
<p align="left"><font color="#FF0000" face="Comic Sans MS" size="2">Aprendiz
de todo y maestro de nada[/CODE]
</p>
</body>
</html>
  #30 (permalink)  
Antiguo 12/07/2002, 12:25
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: pagina asp con usuarios y claves

pues felicidades por el aporte y porke te salio tood bien..

a futuro si crecen los cursos anda pensando en una tabla aparte llamada cursos con su codigo y su nombre o descripcion

;)

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 22:19.