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

clave correcta en blanco???

Estas en el tema de clave correcta en blanco??? en el foro de ASP Clásico en Foros del Web. Hola amigos, tengo un pequeño problema y es que tengo un formulario en donde envio una clave a una pagina asp y lo revisa en ...
  #1 (permalink)  
Antiguo 18/02/2004, 11:07
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
clave correcta en blanco???

Hola amigos, tengo un pequeño problema y es que tengo un formulario en donde envio una clave a una pagina asp y lo revisa en la bd para darme entrada a dicha pahina.

El problema es que si envio el formulario vacio me da entrada???? que pasa aqui no deberia darme acceso, en cambio si meto cualquier clave no me deja entrar y si envio la correcta si me deja entrar, como puedo resolver eso??? el codigo que uso es:

formulario:

<html>

<head>

<title>Formulario para consulta sencilla</title>
</head>

<body bgcolor="#FFFFFF">
<h1><font color="#000000>Bienvenidos</font></h1>

<H1><B><font color="#000000">Instrucción:</B></font></H1>
<h3><font color="#000000">Por favor Introduzca LA CLAVE SECRETA, y luego presiona el botón de enviar:</font> </h3>
<form method="POST" action="aviso6.asp" name="fconsulta-pag-secreta" AUTOCOMPLETE="OFF">
<table border="1" width="50%">
<tr>
<td width="40%"><B><font color="#000000">Clave Secreta</B></font></td>
<td width="50%"><input type="password" name="clave" size="8"></td>
</tr>
<tr>
<td width="16%"><input type="submit" value="Enviar" name="B1"></td>
<td width="84%"><input type="reset" value="Restablecer" name="B2"></td>
</tr>
</table>
</form>


y el quer recoge la clave es:

<html>
<head>
<meta http-equiv="Content-Language" content="es">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Consulta de una Base de Dato</title>
</script>
</head>
<body>
<center>
<table border="2" width="50%" bgcolor="#008000">
<tr>
<td width="100%">
<p align="center"><font color="#FFFFFF"><B>RESULTADO</B></font></td>
</tr>
</table>
</center>
</div>
<BR>
<BR>
<CENTER>
<%clave=request.querystring("clave")
set rs=createobject("ADODB.Recordset")
sqltxt="select * from clave where clave like '%"&clave&"%'"
'response.write (sqltxt)
rs.open sqltxt,("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("clave.mdb"))%>

<%if rs.eof then%>
<meta http-equiv="refresh" content="8;URL=portal-posturg.html">
<h3 align="center">
<font color="#FF0000"><H1><CENTER>Clave Incorrecta <I>Si lo intenta otra vez se ubicara tu IP y tu computador sera destruido!!!</CENTER></I></H1></font></h3>

<%else%>
<meta http-equiv="refresh" content="5;URL=consulta-actualizar.asp">
<%
response.write "<H1>Clave Correcta, espera por favor, 5 segundos</H1>"
end if
%>
</CENTER>
</body>
</html>

la transicio es a traves de una pagina asp aviso que remite la clave

Miguel
  #2 (permalink)  
Antiguo 18/02/2004, 12:14
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, 3 meses
Puntos: 535
Simple... estás cometiendo un error garrafal!

Fijate que estás usando un LIKE en la sentencia SQL cuando NO DEBERÍAS... NUNCA

Así, no sólo te permite el ingreso sin ingresar clave sino que con sólo colocar cualquier letra de una clave válida te dejaría entrar sin problemas.

Además, validá que no sea nula la clave (te pongo las modificaciones y los agregado en negrita):




<%clave=request.querystring("clave")

If clave <> "" Then

set rs=createobject("ADODB.Recordset")
sqltxt="select * from clave where clave = '"&clave&"'"
'response.write (sqltxt)
rs.open sqltxt,("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("clave.mdb"))%>

<%if rs.eof then%>
<meta http-equiv="refresh" content="8;URL=portal-posturg.html">
<h3 align="center">
<font color="#FF0000"><H1><CENTER>Clave Incorrecta <I>Si lo intenta otra vez se ubicara tu IP y tu computador sera destruido!!!</CENTER></I></H1></font></h3>

<%else%>
<meta http-equiv="refresh" content="5;URL=consulta-actualizar.asp">
<%
response.write "<H1>Clave Correcta, espera por favor, 5 segundos</H1>"
end if

Else
Response.Write "La clave no puede no contener ningún caracter"
End if

%>



Saludos

Última edición por AlZuwaga; 18/02/2004 a las 13:58
  #3 (permalink)  
Antiguo 18/02/2004, 13:22
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 6 meses
Puntos: 1
Gracias amigo tenias razon, nunca debo hacer eso me trairia problema, lo probe las modificaciones que me sugeriste y funciona 1000%%%. Gracias y espero que en otra oportunidad me pueda ayudar, aqui en este foro se aprende de verdad con persona como tu


Miguel
__________________
Miguel Padrón :cool:
  #4 (permalink)  
Antiguo 18/02/2004, 13:57
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, 3 meses
Puntos: 535


vas a hacer que me ponga colorado

(por cierto, le quito el tag [ CODE ] a mi mensaje anterior porque la verdad que el SCROLL rompe mucho las pelotas)
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 16:37.