
12/07/2002, 06:50
|
 | | | Fecha de Ingreso: abril-2002 Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 23 años Puntos: 9 | |
Re: pagina asp con usuarios y claves <%if request.form("usuario")="" then%>
<form method="POST" action="login.asp">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center"><%=request.querystr ing("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("\BD\XXXX.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("curso")=rs("curso")
response.redirect "pagina_protegida.htm"
end if
else
autorizacion =-1
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if autorizacion=-1 or autorizacion="" then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son piratillas
response.redirect "login.asp?msg=Usuario%20o%20password%20incor rectos"
end if
end if%>
'CONTINUO EN EL SIGUIENTE |