Login/administracao
#1
Posted 11/07/2004, 11:54
seilaha
isso eh facil mas eu so iniciante em ASP
dai pah...
hehe
comentem ai...
flipcasas@gmail.com *messenger
"emancipem se da escravidão mental pois não há nada além de nós mesmos que pode nos libertar" Bob Marley
#2
Posted 11/07/2004, 14:34
<%
ok = Request.Form("ok")
senha = Request.Form("senha")
login = Request.Form("login")
IF ok = "Logar" THEN
Set vCon = Server.CreateObject("ADODB.Connection")
vCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("bd/ads.mdb") &";Persist Security Info=False"
IF login = "" OR senha = "" THEN
Response.Redirect "login.asp?msg=1"
ELSE
vConf = "SELECT * FROM admin WHERE admin='"& login &"'"
SET vLog = vCon.Execute(vConf)
IF NOT vLog.EOF THEN
IF senha = vLog("senha") AND ok = "Logar" THEN
Session("logadao") = TRUE
Session("usuario") = login
Response.Redirect "admin/painel.asp"
ELSE
Response.Redirect "login.asp?msg=2"
END IF
ELSE
Response.Redirect "login.asp?msg=3"
END IF
END IF
ELSE
IF Session("logadao") = TRUE THEN
Response.Redirect "admin/painel.asp"
ELSE
%>
<p align="center"><b><font size="2" face="Verdana">Para acessar o Painel de Administração, você precisa se logar:</font></b></p>
<div align="center">
<center>
<table border="0" cellspacing="0" cellpadding="0"><form action="login.asp" method="post">
<tr>
<font size="2" face="Verdana">
<td width="59" height="25"><font size="2" face="Verdana">Login:</font></td>
<td height="25"><font face="Verdana"><input type="text" maxlength="50" name="login" size="20"></font></td>
</font>
</tr>
<font size="2" face="Verdana">
<td width="59" height="25"><font size="2" face="Verdana">Senha:</font></td>
<td height="25"><font face="Verdana"><input type="password" maxlength="50" name="senha" size="20"></font></td>
<tr>
<td height="26">
<p align="right"><input type=submit value=Logar name="ok"></p>
</td>
<td height="26">
<p align="left"> <input type="reset" value="Limpar"></p>
</td>
</tr></form>
</table>
</center>
</div><br><center><a href="#" onclick="java script:AbreJanela('senha.asp', 'senha', 380, 270, 'no', 05, 05)">Esqueceu a senha?</a></center>
<p align="center"> </p>
<p align="center"><font face="Verdana" size="1">* b.ads *<br>Produzido por vrsbueno <<a href="mailto:vrsbueno@horizon.com.br">vrsbueno@horizon.com.br</a>></font></p>
<%
END IF
END IF
%>
#3
Posted 11/07/2004, 16:40
me ajudo mto..
hehe
flw brother
flipcasas@gmail.com *messenger
"emancipem se da escravidão mental pois não há nada além de nós mesmos que pode nos libertar" Bob Marley
#4
Posted 12/07/2004, 08:41
www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais
#5
Posted 12/07/2004, 10:55
Num tah naum... onde tah faltando o OR ?
#6
Posted 12/07/2004, 12:05
user = 'or'
senha = 'or'
conseguirá logar?
www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais
#7
Posted 12/07/2004, 18:32
mas creio q naum está faltando nada, pois eu uso e eh 100% seguro...
tente vc mesmo
#8
Posted 13/07/2004, 08:11
www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais
#9
Posted 13/07/2004, 10:29
Tentei e ele dah a mensagem de usuario não cadastrado!
Attached Files
#10
Posted 13/07/2004, 10:34
www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais
#11
Posted 13/07/2004, 12:27
Bem vamos às explicações, isso não é uma falha do Access, é falha do programador, porque? Repare na SQL, como ela é montada:vrsbueno... entre com o nome de usuário igual a 'or' e a senha 'or' e veja se consegue fazer o login. Eu acho que passa mesmo não tendo cadastrado este usuário. O Access tem uma falha. Se usar estes valores ele aceita e vc deve usar um replace para não aceitar aspas simples no nome do usuário e na senha, entendeu?
vConf = "SELECT * FROM admin WHERE admin='"& login &"'"Agora vamos jogar o valor ' OR ' na variável login:
vConf = "SELECT * FROM admin WHERE admin='' OR ''"O que acontece nesse momento? Estamos passando 2 valores vazios para serem pesquisados. E isso qualquer Banco de Dados sabe responder. Não é porque é o Access.
Agora, o porque que não acontece de se entrar nas páginas do VrsBueno? Simples, a SQL só pega o usuário, ele testa depois a senha, já no RecordSet, e no RecordSet não se precisa das ' para selecionar algo! O teste passa a ser
vLog("senha") = "' OR '", o que não será verdade.
Mas existe sim a falha no seu código VrsBueno, porque? Quando se entra com ' OR ', a SQL retorna todos os dados, e o Login que está selecionado é o 1º do BD. Isso se resolve com um simples Replace, trocando uma ' por duas ''.
Aceite JESUS como seu único e suficiente salvador!
_____________-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.
#12
Posted 13/07/2004, 12:33
esse do replace eu fiz no cadastro, jah sabia desta!
mas vc tah dizendo q se eu entrar como user ' OR ' eu irei conseguir?
se for assim, continua dando erro de login.
olha alki: Clique aki.
#13
Posted 13/07/2004, 12:37
tipo, eu sei q a senha eh: 123 (por exemplo)
se eu entrar com login: ' OR '
e senha: 123
dah certo!
era isso?
#14
Posted 13/07/2004, 12:41
Entrar não se consegue, mas a falha existe, imagina que um dia seu sistema possua 100000 usuários (absurdo para se mante um BD access eu sei, mas é suposição), se eu usar o ' or o RecordSet receberá esses 100000 registros à toa. Entendeu?
Aceite JESUS como seu único e suficiente salvador!
_____________-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.
#15
Posted 13/07/2004, 13:08
www.joomlaminas.org - Grupo de Usuários Joomla! de Minas Gerais
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)