Artigos & Ideias

Segurança Avançada com .htaccess – Bloquear Acesso a Include Files

Escrito por:


Quando faço sites para clientes, e para mim mesmo, utilizo inúmeros include files para tornar mais fácil a manutenção do site. Podem ver um pouco mais sobre include files AQUI. Esses include files podem:

seguranca   Segurança Avançada com .htaccess   Bloquear Acesso a Include Files

Segurança – Confidencialidade, Integridade e Disponibilidade

  1. Ser compostos apenas por HTML, sem programação voltada ao servidor
  2. Ser classes PHP usadas no site
  3. Composto por PHP e HTML
  4. Código PHP para proceder a uma acção específica, muitas vezes, scripts em AJAX

Obviamente, se uma pessoa tiver sorte e adivinhar o path e o nome do ficheiro do meu script include, pode resultar em problemas, especialmente se se tratar de um script não seguro em AJAX (mas eu não faço isso — nem vocês, pois não?). Por exemplo, tomemos o exemplo deste fraco código PHP que iria ser executado aquando de uma chamada feita com AJAX:

//includes/ajax/apagar_id.inc
$query = 'DELETE FROM minha_tabela WHERE id = '.$_GET['id'];
mysql_query($query);

Imagina, que o utilizador altera o ID na querystring para “‘ or 1″ — toda a informação será apagada!
Mesmo que os meus scripts sejam seguros (significa que uso uma validação apropriada para certificar-me que foi chamado correctamente), um utilizador/hacker não terá nenhum problema em chamar um ficheiro include.

É aqui que entra o “truque”, utilizando .htaccess, podemos evitar qualquer tentativa de um utilizador chegar a incluir qualquer ficheiro:

<files ~ "\.inc$">
	Order allow,deny
	Deny from all
</files>

O código acima diz ao servidor para rejeitar todos os pedidos feito pelo utilizador, para qualquer ficheiro que termine em .inc. Podes facilmente modificar o .htaccess acima para a tua própria estrutura.

2


Sobre o Autor

Carlos Gonçalves é um Freelancer com bastante experiência em linguagens de programação e webdesign. Vocacionado para as novas tecnologias, aposta na qualidade dos serviços, atendimento rápido e sempre disponível para melhor satisfazer os seus clientes. Autor do site cgoncalves.com

Comentários

  1. softclean  14 Fevereiro 2009

    Boa dica. No entato, tudo o que seja classes, e ficheiro exclusivamente para incluir, coloco-os dentro de um directorio, seja ‘phpscripts’, juntamente com o seguinte ficheiro .htaccess:

    deny from all

    É basicamente a mesma coisa, mas protege tudo o que esteja dentro desse directório, independentemente da sua extensão ou tipo de ficheiro ;)

    (responder)

Comentar

Nota: A moderação de comentários está activada e pode atrasar o teu comentário. Não há necessidade de reenviares o teu comentário.

  1. Carlos Gonçalves  Fevereiro 14, 2009
More in Outros (1 of 12 articles)

# #