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:

Segurança - Confidencialidade, Integridade e Disponibilidade

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.


Muito FracoFracoRazoávelBomMuito Bom (Nenhum voto por enquanto)
Loading ... Loading ...