Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ProgramadorASP

login e senha

Recommended Posts

Galera,

 

Nao sei mais como fazer um sistema de login e senha para a minha administracao do site.

 

Ja tentei varias maneiras mais nenhumas delas esta tendo sucesso.

 

O problema se encontra na hora em que quero passar a SESSION("LOGIN") para verificar se o usuario esta logado ou nao. So que a SESSION("LOGIN") esta indo vazia para a pagina.

 

Segue abaixo os meus arquivos:

 

LOGIN.ASP

******

ASP

[*]<HTML>

[*]<HEAD>

[*]<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">

[*]<TITLE></TITLE>

[*]</HEAD>

[*]<BODY>

[*] <FORM METHOD=POST ACTION=verifica.asp'>

[*] <table>

[*] <TR><TD>Usuário</td><td><INPUT TYPE=TEXT NAME=LOGINNAME SIZE=15 MAXLENGTH=15></INPUT></TD></TR>

[*] <TR><TD>Senha</td><td><INPUT TYPE=PASSWORD NAME=PWD SIZE=10 MAXLENGTH=10></INPUT></TD></TR>

[*] <TR><TD></TD><TD><INPUT TYPE=SUBMIT></INPUT><INPUT TYPE=RESET></INPUT>

[*] </table>

[*] </FORM>

[*] </BODY>

[*]</HTML>

 

-----------------------------------------------------------------------------------------------

 

VERIFICA.ASP

 

**********

 

ASP

[*]<%

[*] Dim oConn, oRS, strSQL, strConn

[*] StrConn = "Driver={Driver do Microsoft Access (*.mdb)}; DBQ=" & Server.MapPath("cadastro.mdb")

[*] Set oConn = Server.CreateObject("ADODB.Connection")

[*] Set oRS = Server.CreateObject("ADODB.RecordSet")

[*]

[*] strSQL = "SELECT * FROM tab_senha WHERE username = '" & Request.Form("loginname") & "' AND senha = '" & Request.Form("pwd") & "'"

[*]

[*] oRS.Open strSQL, strConn

[*]

[*] if NOT oRS.EOF then

[*]SESSION("LOGIN") = oRS("Request.Form("loginname")")

[*]Response.Redirect("conteudo_restrito.asp")

[*]Else

[*]Response.Redirect("pagina_de_erro.asp")

[*] End if

[*]

[*] oRS.Close

[*] Set oRS = Nothing

[*] Set oConn = Nothing

[*]end if

[*]%>

 

---------------------------------------------------------------------------------------------

 

CONTEUDO_RESTRITO.ASP

 

********

ASP

[*]<%

[*]IF SESSION("LOGIN") = "" THEN

[*] RESPONSE.REDIRECT("login.asp")

[*]%>

 

 

...se alguem puder me ajudar, ficaria muito grato. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

O problema esta na hora em que o usuario LOGAR corretamente com o seu LOGIN E SENHA, e quando o arquivo CONTEUDO_RESTRITO fizzer a sua verificacao da SESSION("LOGIN") para ver se realmente ela esta preenchida, ele volta para LOGIN.ASP.

 

OU seja a SESSION esta indo para O CONTEUDO_RESTRITO.ASP sempres vazia , fazendo com que o usuario seje redirecionado mesmo quando estiver LOGADO CORRETAMENTE.

 

 

...por favor ajudem-me!!!!!! :blink: :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Linha 13 de seu código:

ASP
  1. SESSION("LOGIN") = oRS("Request.Form("loginname")")

Linha correta:
ASP
  1. SESSION("LOGIN") = oRS("username")

Só tome cuidado, pois seu sistema de login é falho (aberto a SQLInjection), e na sua SQL selecione só o campo que irá utilizar, no caso o campo "username", isso torna um pouco mais "leve" seu sistema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, desculpe!!!Poderia me explicar melhor, nao entendi o que você falou.Aqui no trabalho, ta pegando e tenho que entregar essa porcaria ate amanha, e nao estou conseguindo. :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta linhaSESSION("LOGIN") = oRS("Request.Form("loginname")")troca oRequest.Form("loginname")pelo nome do campo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sera que alguem poderia postar algum codigo de LOGIN E SENHA.Pois o meu nao esta funcionando de jeito nenhum, nem com a mudanca acima!!! :blink: :blink: :blink: :blink: :blink: :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu Login.ASP faça essa alteração para verificarmos:

ASP
  1. <%
  2. Dim oConn, oRS, strSQL, strConn
  3. StrConn = "Driver={Driver do Microsoft Access (*.mdb)}; DBQ=" & Server.MapPath("cadastro.mdb")
  4. Set oConn = Server.CreateObject("ADODB.Connection")
  5. Set oRS = Server.CreateObject("ADODB.RecordSet")

  6. strSQL = "SELECT * FROM tab_senha WHERE username = '" & Request.Form("loginname") & "' AND senha = '" & Request.Form("pwd") & "'"

  7. oRS.Open strSQL, strConn

  8. if NOT oRS.EOF then
  9. Response.Write "O campo username contém: "& oRS("username")
  10. SESSION("LOGIN") = oRS("username")
  11. 'Response.Redirect("conteudo_restrito.asp")
  12. Else
  13. 'Response.Redirect("pagina_de_erro.asp")
  14. End if

  15. oRS.Close
  16. Set oRS = Nothing
  17. Set oConn = Nothing
  18. end if
  19. %>

E poste se veio o nome corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte,

 

Quando eu digito o LOGIN E A SENHA corretamente aparece na tela seguinte:

 

O campo username contém: fulano

e quando eu digito o LOGIN E A SENHA errado nao aparece nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu problema é específicamente só com essa Session ou outras Sessions não funcionam?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois e meu amigo,

 

Estava testando o codigo agora e resultou no seguinte:

 

Quando o usuario digita seu LOGIN E SENHA errado, da uma mensagem de erro dizendo que os dados fornecidos estao errados, ou entao e so eu mudar para REDIRECT que o usuario e direcionado para o LOGIN.ASP novamente para LOGAR.

 

SO QUE quando o usuario digita o seu LOGIN e SENHA CORRETOS, ele nao consegue acessar a pagina CONTEUDO_RESTRITO.ASP

 

devido a SESSION("LOGIN") esta vazia.

 

Codigo usado na pagina CONTEUDO_RESTRITO.ASP

 

ASP

[*]<%

[*]IF Session("LOGIN") = "" then

[*]Response.Redirect("login.asp")

[*]else

[*]rESPONSE.Write("CONECTADO")

[*]end if

[*]%>

 

Apenas um detalhes

 

Na pagina VERIFICA.ASP, fiz a mudanca conforme POST ACIMA!!

 

ASP

[*]<%

[*]Dim oConn, oRS, strSQL, strConn

[*]StrConn = "Driver={Driver do Microsoft Access (*.mdb)}; DBQ=" & Server.MapPath("cadastro.mdb")

[*]Set oConn = Server.CreateObject("ADODB.Connection")

[*]Set oRS = Server.CreateObject("ADODB.RecordSet")

[*]

[*]strSQL = "SELECT * FROM tab_senha WHERE username = '" & Request.Form("loginname") & "' AND senha = '" & Request.Form("pwd") & "'"

[*]

[*]oRS.Open strSQL, strConn

[*]

[*]if NOT oRS.EOF then

[*]Response.Write "O campo username contém: "& oRS("username")&"<br>"

[*]SESSION("LOGIN") = oRS("username")

[*] Response.Redirect("conteudo_restrito.asp")

[*]Else

[*]Response.Write("ERRO")

[*]'Response.Redirect("pagina_de_erro.asp")

[*]End if

[*]

[*]oRS.Close

[*]Set oRS = Nothing

[*]Set oConn = Nothing

[*] %>

 

:wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparentemente não há motivos para não estar funcionando, o sistema está online? Pode passar o link e um usuário/senha para teste?

Compartilhar este post


Link para o post
Compartilhar em outros sites

e quando eu digito o LOGIN E A SENHA errado nao aparece nada.

não aparece nada porque não entra neste if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara utiliza esse meu aki, que ele esta funcionando trankilo, tipo ele tah pra um nível soh de usuario.

 

index.asp

ASP

[*]<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

[*]<!--#include file="../../Connections/cuiaba.asp" -->

[*]

[*]<%

[*]response.buffer = true

[*]'decleration

[*]dim useraction

[*]dim conexao,rs,sql

[*]'if the user submit the form

[*]useraction = request("action")

[*]select case useraction

[*] case "login"

[*] user = request.form("login")

[*] pass = request.form("senha")

[*] Set conexao = Server.CreateObject("ADODB.Connection")

[*] conexao.Open(MM_cuiaba_STRING)

[*] SQL = "SELECT * FROM usuarios where senha='"& pass &"' and login='"& user & "'"

[*]

[*] Set Rs = conexao.execute(sql)

[*]

[*] if rs.eof and rs.bof then

[*] response.write "<center>Senha incorreta</center>"

[*] else

[*] session("auth") = pass

[*] response.redirect "lista.asp"

[*] end if

[*] end select

[*]%>

[*]<html>

[*]<head>

[*]<title>ADM</title>

[*]</head>

[*]

[*]<body>

[*]<br>

[*]<br>

[*]<br>

[*]<br>

[*]</font>

[*]<form name="theform" action="index.asp?action=login" method="post" onsubmit="return valid()">

[*] <table width="500" border="0" align="center" cellpadding="2" cellspacing="2">

[*] <tr>

[*] <td colspan="2"><div align="center"><img src="imagens/logo.jpg" width="187" height="93"></div></td>

[*] </tr>

[*] <tr>

[*] <td width="184"><div align="right"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></strong></div></td>

[*] <td width="302"><input name="login" type="text" id="login" size=15 maxlength=10></td>

[*] </tr>

[*] <tr>

[*] <td><div align="right"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:

[*] </font></strong></div></td>

[*] <td><input name="senha" type="password" id="senha" size=15 maxlength=10></td>

[*] </tr>

[*] <tr>

[*] <td> </td>

[*] <td> </td>

[*] </tr>

[*] <tr>

[*] <td> </td>

[*] <td><input name="submit" type="submit" value="Entrar"></td>

[*] </tr>

[*] </table>

[*]</form>

[*]</body>

[*]</html>

 

 

 

lista.asp

ASP

[*]<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

[*]<!--#include file="../../Connections/cuiaba.asp" -->

[*]<%

[*]if session("auth")="" then

[*] response.redirect "index.asp"

[*]end if

[*]%>

[*].

[*].

[*].

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

CONECTADO, mesmo sem você passar usuário e senha :assobiando:

Compartilhar este post


Link para o post
Compartilhar em outros sites

E o seguinte!!

 

Quando o USUARIO digita seu LOGIN E SENHA corretos e mostrado na tela a seguinte MENSAGEM.

 

CONECTADO - > QUe poderia ser o conteudo da pagina CONTEUDO_RESTRITO.ASP

 

e quando ele nao digita o LOGIN E SENHA ou se digita, digita Errado e fica na pagina LOGIN.ASP

 

Ate entao esta tudo certo o unico problema e o seguinte.

 

ASP

[*]

[*] <%

[*]IF Session("LOGIN") = "" then

[*]Response.Redirect("login.asp")

[*]else

[*]rESPONSE.Write("CONECTADO")

[*]end if

[*]%>

[*]

 

esse e o codigo que fica logo no comeco do arquivo CONTEUDO_RESTRITO.ASP

caso a SESSION esteja vazia entao ele e redirecionado para LOGIN.ASP

 

se nao e mostrado na TELA A MSG CONECTADO!

 

 

Agora digita ae no browser,

http://www.amznet.com.br/amz_pangeia/ASP/c...do_restrito.asp

 

e sera mostrado "CONECTADO", como se a SESSION estivesse cheia!!!

 

dessa maneira nao pode, por que se tiver um "espertinho" e digitar o endereco no browser vai visualizar todo o CONTEUDO_RESTRITO.ASP

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu me logei, mesmo sem usuário e senha, devido a um problema que já havia dito. Então como eu sei que a mensagem é "CONECTADO"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ProgramadorASP usa esse meu que eu passei, que el funciona certinho.

 

Nesse meu você soh vai precisar fazer uma modificações de acordo com a sua conexao ao banco de dados.

 

Aki vai o meu arquivo de conexao, que eh base MySql

 

cuiaba.asp

ASP

[*]<%

[*]Set conexao = Server.CreateObject("ADODB.Connection")

[*]Dim MM_cuiaba_STRING

[*]MM_cuiaba_STRING = "dsn=dsn;uid=uid;pwd=pwd;"

[*]conexao.open(MM_cuiaba_STRING)

[*]%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.