Criar sessão dados vindos url
Bom Dia,
Estou desenvolvendo um sistema onde os dados para login são enviados via ulr, sem ser por post ou get. Utilizo o sistema abaixo para fazer a confirmação e efetuar o login criando uma sessão no cookie.
Só que ele somente sustenta a sessão se os dados forem enviados via post ou get. Quando envio direto pela url tipo:
www.site.com.br/logar.asp?login=valdeci&senha=12345
Ele acessa a primeira página mas quando tentamos navegar ele desloga e perde a sessão. Já fiz um teste imprimindo os dados da sessão e os mesmo são recebidos na pagina principal depois do login, mas quando tentamos navegar ele perde a sessão e volta para a pagina de login, eu utilizo o código abaixo para verificar se ainda tem sessão ou não, e ele simplesmente cai voltando a tela de login.
If IsEmpty(Session("login")) Then
Response.redirect("login_associado.html")
End if
Existe alguma maneira de criar a sessão e sustenta-la enviando os dados via url (response.redirect) de um caminho fisico com esse?www.site.com.br/logar.asp?login=valdeci&senha=12345
Segue o codigo
<!--#include file="../assets/conexao/conexao.asp" -->
<%
' vamos fazer o request do nosso login e senha que foi enviado via url no formulário
login = request.Querystring("login")
senha = request.Querystring("senha")
' agora vamos usar o replace para evitar que engraçadinhos tenter furar nosso sistema de login
login = replace(login,"'","''")
login = replace(login,"#","''")
login = replace(login,"$","''")
login = replace(login,"%","''")
login = replace(login,"¨","''")
login = replace(login,"&","''")
login = replace(login,"'or'1'='1'","''")
login = replace(login,"--","''")
login = replace(login,"insert","''")
login = replace(login,"drop","''")
login = replace(login,"delet","''")
login = replace(login,"xp_","''")
login = replace(login,"select","''")
login = replace(login,"*","''")
' e agora pra a senha
senha = replace(senha,"'","''")
senha = replace(senha,"#","''")
senha = replace(senha,"$","''")
senha = replace(senha,"%","''")
senha = replace(senha,"¨","''")
senha = replace(senha,"&","''")
senha = replace(senha,"'or'1'='1'","''")
senha = replace(senha,"--","''")
senha = replace(senha,"insert","''")
senha = replace(senha,"drop","''")
senha = replace(senha,"delet","''")
senha = replace(senha,"xp_","''")
senha = replace(senha,"select","''")
senha = replace(senha,"*","''")
' feito isso vamos mudar o nome das variaveis para evitar outra tentativa de furos
Session("lgn") = login
Session("snh") = senha
'aqui abrimos a conexão com um banco acess onde estão armazenadas as senhas
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open ("SELECT * FROM usuariosapp WHERE email = '" & Session("lgn") & "' AND senha='"&Session("snh")&"'"), Conexao
if rs.eof then
response.Redirect("errou_senhaC.asp") 'se o cara errar a senha ele vai ser redirecionado para essa pagina
else
Session("login") = "logado"
response.Cookies("logado")=login
response.cookies("logado").expires="31/12/2018"
response.redirect ("principal.asp")
end if
%>
Discussão (3)
Carregando comentários...