logo quando iniciei em asp eu apanhei um pouquinho até conseguir criar meu sistema de login.....
então vou mostrar aqui como fazer um sistema, qualquer erro que eu cometa, por favor postem ai....

vamos lá...
primeiro passo vamos o formulário onde o cara digita o usuario e a senha , com o seguinte codigo:
login.asp
<form method="post" action="logar.asp">
Usuario: <input name="login" type="text"> <br>
Senha:<input name="senha" type="password"><br>
<input type="submit" value="Entrar">
</form>
bom até ai acho que não tem segredo...o action direciona o usuario pra pagina logar.asp quando ele clica no botão entrar
reparem que já armazenamos dois valores login e senha que vão ser resgatados no próximo arquivo nosso
logar.asp
<%
' vamos fazer o request do nosso login e senha que foi digitado no formulário
login = request.Form("login")
senha = request.Form("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 conexao = createobject("AdoDb.connection")
constr = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("banco.mdb")
conexao.open constr
set rs = conexao.execute("SELECT * FROM area_restrita WHERE login='"&Session("lgn")&"' AND senha='"&Session("snh")&"'")
if rs.eof then
response.Redirect("errou.asp") 'se o cara errar a senha ele vai ser redirecionado para essa pagina
else
'agora criamos os cookies ou as sessions de acordo com nossas necessidades
Session("login") = "logado"
response.Cookies("logado")=login
response.cookies("logado").expires="31/12/2010"
url = rs("url")
response.redirect (url) ' esse aqui é o endereço da pagina pra onde a pessoa será redirecionada após o login
end if
%>
beleza, já temos nosos arquivo que faz a validação da senhas.... ops.. agora falta o bacno de dados onde ficam armazenadas as senhas... de acordo com nosso codigo devemos criar um BD no acess com a seguinte estrutura:
banco.mdb
TABELA area_restrita
CAMPOS
id (tipo: auto numeração)
login (tipo: texto)
senha (tipo: texto)
url (tipo: texto)
no campo login e senha, você coloca a senha e o login do usuário e no campo URL vc coloca o endereço da pagina que a pessoa será redirecionada depois que fizer o login ex. http://www.seusite.com.br/logado.asp
não se esqueça de criar também a pagina errou.asp caso a pessoa erre a senha ou o usuario......

agora vamos supor que o cara fez o login no seu site e anotou o caminho que apareceu na barra de endereços.....


para evitar isso você precisa colocar esse pequeno codigo no começo de sua pagina:
logado.asp
<%
if request.Cookies("logado")="" then %>
<!--#include file="login.asp"-->
<% else %>
<html>
.
.
.
codigos html da sua pagina.....
se por acaso você resolveu não usar cookies no seu sistema de login pois alguns usúários podem desabilitar....
então podemos fazer essa verificaçao com session da mesma maneira.. só colocar o codigo no começo de seu arquivo logado.asp
<%
If IsEmpty(Session("login")) Then
Response.redirect("login.asp")
End if
%>
vamos supor que você não precise por algum motivo ou vc não queira usar nem session e nem cookies... então o jeito é verificar dessa forma:
<%
If Request("HTTP_REFERER") = "" Then
response.Redirect("errou.asp")
Response.End
End If
%>
acho que é basicamente é isso..... se alguém tiver alguam duvida ou alguma sugestão fiquem a vontade pra postar !!!

-----------------------------------------------------------------------------------------------
Para uma maior organização desta seção, todas as duvidas relacionadas a este tutorial devem ser tiradas na seguinte sala:
http://forum.wmonlin...p?showforum=113
Edição feita por: Agente Linhares, 28/06/2005, 22:52.