Consulta sobre loguin simple

08/09/2004 - 15:29 por cgg | Informe spam
Los 2 archivos estan en c:\Intpub\wwwroot\ loguin.asp y xxxxx.mdb

La base de datos: xxxxx.mdb (Access 2000)
tabla: usuarios

campos:
usuario (texto)
password (texto)


Esta bien la conexion?
Me aparece siempre:
userInfo=false

<<loguin.asp>>

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


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

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("\xxxxx.mdb"))
set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and password'"&password&"'"
'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("usuario")=usuario and rs("password")=password then
' si el usuario esta en la base de datos y la password coincide
session("autorizacion")=1
response.redirect "default.asp"
end if
else
session("autorizacion")=-1

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

end if%>
 

Leer las respuestas

#1 Franco Figún
08/09/2004 - 16:22 | Informe spam
Fijate esta validacion para comparar:

<body bgcolor="#AEAEAE">
<%
Dim Con , rst, strsql, registros
Set Con = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")

Con.Open "tucadena"
strSQL = "select * from usuarios where usuario= '"&request("usuario") & "'
AND clave='"&request("clave")&"'"
set rst = con.Execute (strSQL)

if rst.EOF then
rst.Close
set rst=nothing
con.Close
set con = nothing
Response.write "<center><font size=2 ; color='000000' ;
face='verdana'><b>DATOS INCORRECTOS"
Response.Write "<br><br>Haga <a href='ingreso.html'>click<a> para volver a
intentar.</b></font></center>"
else
session("usuarioid") = trim(rst("UsuarioId"))
session("permisos") = trim(rst("permisos"))
session("usuario") = trim(request("usuario"))
session("password") = trim(rst("clave"))
session("area") = trim(rst("area"))
usuario = rst("usuario")
rst.Close
set rst=nothing
con.Close
set con = nothing
Response.Redirect ("menu.asp?usuario="&usuario)
end if
%>

FF
www.francofigun.com.ar
Yahoo MSN:
ICQ: 314408886
"cgg" wrote in message
news:
Los 2 archivos estan en c:\Intpub\wwwroot\ loguin.asp y xxxxx.mdb

La base de datos: xxxxx.mdb (Access 2000)
tabla: usuarios

campos:
usuario (texto)
password (texto)


Esta bien la conexion?
Me aparece siempre:
userInfo=false

<<loguin.asp>>

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


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

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("\xxxxx.mdb"))
set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and password> '"&password&"'"
'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("usuario")=usuario and rs("password")=password then
' si el usuario esta en la base de datos y la password coincide
session("autorizacion")=1
response.redirect "default.asp"
end if
else
session("autorizacion")=-1

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

end if%>



Preguntas similares