Lamentavelmente, javascript não é uma linguagem com a qual se possa realizar um método interessante para fazer com que algumas páginas de nosso site somente seja acessíveis se se introduz uma senha correta. Mesmo assim, existe um mecanismo para poder realizar isto, que não é muito avançado nem muito seguro, mas pode dar um efeito em nossas páginas que estamos desejando.
Trata-se de colocar páginas web em nosso espaço de links, para que ninguém possa acessa-las. Esta é toda a segurança que podemos dar a nossas páginas: como não existem links dirigidos para elas, ninguém poderá acessa-las. A única maneira de acessar as páginas seria conhecendo o nome de arquivo e escrever a URL do mesmo, mas como também não vamos publicar o nome do arquivo, poderemos estar quase certos de que ninguém acertará construir o endereço da página que queremos ocultar. Logo, criaremos um formulário muito simples, que incluirá um campo de texto e um botão. No campo de texto teremos que escrever o nome do arquivo que se deseja ver e ao clicar o botão javascript seremos conduzidos para a página que tiver esse nome de arquivo. Nesse ponto pode acontecer duas coisas:
- Primeiro, que o nome de arquivo seja incorreto, ou seja, inventamos a senha mas não acertamos com o nome da página escondida. Neste caso, se mostraria uma página de erro típica, dessas que o servidor mostra quando tentamos acessar a uma página que não existe.
- Segundo, que o nome da página seja correto, ou seja, que a senha que introduzimos seja igual ao nome do arquivo queremos acessar. Neste caso, javascript nos conduzirá ao lugar correto e poderemos ver a página oculta.
Vejamos passo a passo como construir este sistema de acesso por senha:
|
1.- As páginas para desenvolver
|
Temos que trabalhar com 2 páginas web pelo menos, uma para colocar o formulário e outra que seria a página oculta. Teremos estas páginas colocadas no mesmo diretório, com o qual simplificaremos um pouco o problema.
|
2.- Formulário para a senha
|
Na página que quisermos colocar o acesso por senha, devemos colocar o seguinte formulário:
<FORM name=formsenha>
<INPUT type=password name=senha>
<INPUT type=button value=Acessar>
</FORM>
|
3.- Função que nos envia à página oculta
|
Como a página oculta tem como nome de arquivo o que tivermos escrito no campo de texto, poderemos acessa-la da seguinte forma:
<SCRIPT>
function acesso(){
window.location = document.formsenha.senha.value + ".html"
}
</SCRIPT>
A função é muito simples, o único que faz é concatenar o nome que foi escrito no campo de texto com ".html" e nos manda, utilizando window.location, diretamente à página cujo nome acaba de ser construido.
Como concatenamos com ".html" o nome do arquivo escrito no formulário, o nome que escrevermos deverá ir sem ".html".
|
4.- Incluir no botão a chamada à função
|
Com o objetivo de que ao clicar o botão o navegador nos leve à página oculta, temos que fazer com que ao clica-lo, seja chamada a função acesso definida no ponto anterior. Isto se consegue mediante o atributo onclick, que devemos inserir na etiqueta do botão.
<INPUT type=button value=Acessar onclick="acesso()">
|
5.- Código inteiro da página
|
Podemos ver a seguir o código da página inteira. Somente mostramos o código da página que tem o formulário, porque a página oculta poderá ser como cada um desejar.
<html>
<head>
<title>senha acesso</title>
</head>
<body>
<SCRIPT>
function acesso(){
window.location = document.formsenha.senha.value + ".html"
}
</SCRIPT>
<FORM name=formsenha>
<INPUT type=password name=senha>
<INPUT type=button value=Acessar onclick="acesso()">
</FORM>
</body>
</html>
Uma coisa importante na hora de conseguir que o script seja mais confiável consiste em criar páginas com um nome de arquivo difíicil de se inventar. Como o nome da página é a senha com a qual vai ser acessada a página necessitaremos que tal nome seja um pouco complexo, como por exemplo, fks12dmxc53.html. Se a página senha se chamasse por exemplo, index.html qualquer um com um pouco de imaginação poderia inventa-la.
Antes de terminar, cabe repetir que este não é o método mais seguro que existe para criar scripts para realizar acessos restringidos, é somente uma pequena astúcia que "funciona". Para realizar este objetivo com melhores resultados temos linguagens como ASP, PHP ou CGI. Também podemos restringir o acesso às páginas utilizando o própio sistema operativo e a autentificação que este implementa, tal vez seja a opção mais cômoda, embora não seja cem porcento provável que o nosso provedor de hospedagem nos permita.
Foram enviados 8 comentários ao artigo

8 comentários revisados:
| Por: victor carvalho | | 08/3/06
|
esta muito bem feito és um as.
gostaria de saber fazer jum script que recebesse os dados de um formulário e depois desse resposta que fosse preciso, do tipo agradecimento ou outra coisa qq.
obrigado pela atenção.
Tentei usar o código para senha, no entanto, embora criou a caixa e o botão a resposta que tenho do navegador é site não encontrado. Tem algo a ser acrescentado ao código depois do window.location?
Funciona ***** só há um pequeno probleminha, é o seguinte:
"html" não será esta configuração, terá de ser alterado para "htm" para funcionar em frontpage
Gostei do código, mas talvez tenha um pegueno problema (ao meu ver), a senha fica exposta no código da primeira página.
| Por: Neilton de Sousa | | 04/12/06
|
o que fazer no caso do arquivo "pagina a ser acessada", esta em outro diretório?
exemplo o formulario na home e a página esta em um sub-diretório
C:/ Site/arquivo/ pagina consultada.html
Achei bom este artigo, só não sei onde eu coloco o nome do arquivo - página oculta - na página que pede a senha.
como faço para colocar uma mensagem de alerta dentro deste script. Tipo se não digitar a senha corretamente aparecera uma mensagem favor digitar a senha corretamente.
Dei uma melhorada no script: Falta resolver o problema de quando alguém digita uma senha errada cai na tela "A PAGINA NÃO PODE SER EXIBIDA". Não consegui resolver, se tiver alguma informação, fico muito grato. Gostei desse sistema.
Faça um teste com o seu script e depois faça com o que eu te mandei modificado.
________________________________________
<html>
<body bgcolor="#808080">
<SCRIPT>
function acesso()
{
window.location = document.login.senha.value + ".html"
if (document.login.senha.value == "")
{alert ('Senha incorreta.');
document.login.senha.focus();
window.location = "login.html"
return false;}
}
</SCRIPT>
<br>
<FORM name=login>
<p align="center">
<INPUT type=password name=senha size="46" style="font-family: Tahoma; font-size: 12pt; text-align: center; border-style: solid; border-width: 1px; padding-left: 0; padding-right: 0; padding-top: 5px; padding-bottom: 0"><br>
<br>
<INPUT type=button value="acessar o cadastro" onclick="acesso()" style="font-family: Tahoma; font-size: 10pt">
</p>
</FORM>
</body>
</html>