Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de ASP
SEÇÕES
Manuais relacionados
+Workshop de ASP
Categorias
+ASP
+Scripts em ASP

Índice do Manual Workshop de ASP
+ Melhorar o registro em buscadores
+ Include. Incluir arquivos ASP
+ Crie seu próprio buscador
+ O objeto RecordSet
+ Paginar resultados em ASP
+ Global .ASA
+ Contar usuários ativos
+ Percorrido arrays e coleções
+ Mais sobre cookies
+ Detector de navegador
+ Trabalho com o buffer da página
+ Utilização ou não do Cache
+ Objeto Server
+ Leitura e escritura de arquivos em ASP
+ Cálculo de dias que faltam para uma data
+ Componentes do servidor ASP
+ AspUpload
+ Exportar dados de MySQL a Microsoft Access
+ Exportar dados de Access a MySQL
+ Mandar e-mails pelo ASP
+ Criar banco de dados Access com ASP
+ Passagem de variáveis pela URL
+ Uso de CDONTS para script de recomendar a um amigo em ASP
+ Servidores nos EUA e o asp
+ Como fazer zonas aleatórias em asp
+ Selects dependentes com ASP e banco de dados
+ Sistema de Recomendação em ASP com CDONTS
+ Encaminhar o navegador a uma URL com ASP detalhado
+ Uso de cookies
+ Galeria de imagens em ASP
+ Escrever um arquivo Excel através de ASP
+ Tratar erros em sentenças SQL executadas em ASP
+ Validar uma data com ASP
+ Arredondar decimais em ASP
+ Devolver um arquivo de Word através de uma página ASP
+ Um Chat em ASP
+ Averiguar o endereço IP de um visitante e bloquear IPs, em ASP
+ Lista dos arquivos de um diretório com ASP
+ Percorrido genérico por um recordset com ASP
+ Intranets com ASP
+ Restringir o acesso a páginas com ASP
+ Saídas em formato compatível Excel
+ Variáveis de servidor em ASP
+ GeoLite Country para ASP. Conhecer o país de um IP
+ Um Sistema de postais Virtuais em ASP I
+ Um Sistema de postais Virtuais em ASP II
+ Messenger através de BD em ASP
+ Objeto Datagrid de ASP.NET em ASP
+ Percorrer campos de formulário complexos em ASP
+ Percorrer valor do campo auto-numérico depois de inserir em ASP
+ O Objeto Browser Capabilities
+ Buscador simples em ASP melhorado

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Restringir o acesso a páginas com ASP

A muitas pessoas certamente já ocorreu de necessitar que certas páginas de nosso web só possam ser acessadas por usuários previamente autorizados.


Mostramos a seguir um método simples, porém eficaz para consegui-lo.

Para salvar a lista de usuários autorizados com seus correspondentes password criaremos em um banco de dados chamada XXXXX (não use um nome óbvio demais) uma tabela que denominaremos USUARIOS com os campos USUARIO e PASSWORD.


Vamos passo a passo:

1.-Criamos uma página com um formulário para que o usuário se identifique.

2.- Efetuaremos a comprovação do usuário e password introduzidos com uma simples consulta à tabela USUARIOS, no caso de que a identificação seja correta criaremos para esse usuário uma variável de sessão com um valor que identifique sua validação como usuário.
No caso de que a validação seja errônea, devolvemos ao usuário ao formulário de login com uma mensagem de erro.

Login.asp
<%if request.form("usuario")="" then%>
<form method="POST" action="login.asp">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center"><%=request.querystring("msg")%></p>
<div align="center">
<center>
<table border="0" width="50%" bgcolor="#F2F2F2">
<tr>
<td width="100%" colspan="2" bgcolor="#0000FF">
<p align="center"><font color="#FFFFFF">Login</font></td>
</tr>
<tr>
<td width="50%">Usuario:</td>
<td width="50%"><input type="text" name="usuario" size="20"></td>
</tr>
<tr>
<td width="50%">Password: </td>
<td width="50%"> <input type="password" name="password" size="20"></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><input type="submit" value="Enviar" name="B1"></td>
</tr>
</table>
</center>
</div>
</form>

<%else
'eliminamos as possíveis aspas da entrada
'para evitar a introdução de sentenças SQL
usuario=replace(request.form("usuario"),"'","")
password=replace(request.form("password"),"'","")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\dirBD\xxxxx.mdb"))
set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and password= '"&password&"'"
'response.write sqltxt
rs.Open sqltxt, conn
if not rs.eof then
' nos devolveu um registro, agora veremos se é válido
' com isso evitamos o ataque típico SQL
if rs("usuario")=usuario and rs("password")=password then
' se o usuário estiver no banco de dados e a password coincidir
sessao("autorizacao")=1
response.redirect "default.asp"
end if
else
sessao("autorizacao")=-1

end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if sessao("autorizacao")=-1 or session("autorizacao")="" then
' não encontramos o registro
' isso indica que o usuário e/ou a password são errados
response.redirect "login.asp?msg=Usuario%20o%20password%20incorreta"
end if

end if%>


Logo, simplesmente, em cada uma das páginas que quisermos que requeiram autorização prévia checaremos essa variável de sessao e permitiremos o passo se a checagem for correta ou caso contrário, re-encaminharemos o usuário à página de identificação.

<% if session("autorizacao")<>1 then

response.redirect "login.asp"

end if%>

O sistema nos permitiria inclusive conceder diferentes níveis de acesso a páginas dependendo do usuário, simplesmente atribuindo um diferente valor a sua variável de sessao.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de ASP

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em ASP
+ Entrar em Scripts em ASP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites