0

Arquivos .inc, onde e como utilizar

criado por Victor Henrique em 12/11/2003 3:32pm
Na página anterior expliquei como pode ser perigoso manter sua senha em arquivos .inc, mas isso não é uma regra.

Você tem algumas opções:

1- Setar no seu webserver para que arquivos .inc sejam interpretados com o interpretador do PHP(que não é algo possível a todos, já que a maioria utiliza servidores de hospedagem pagos ou públicos).
2- Modificar as permissões do arquivo para que não possa ser lido.
3- Utilizar extensão .php no arquivo, na minha opinião, o mais recomendável, pois você estará protegendo seu arquivo de qualquer acesso, já que o PHP não libera código-fonte de seu script a ninguém que não tenha acesso ao servidor ou ao FTP do mesmo.

Caso utilize a terceira opção, você poderá utilizar alguns nomes padrão para organizar melhor seus arquivos:

1- Utilizar uma pasta /lib com todos os arquivos de includes
2- Utilizar nomes como inc_(nome).php, que manterá todos os includes juntos para visualização.
3- Utilizar nomes como (nome).inc.php.

Prosseguindo com possibilidades, se aquele usuário mal-intencionado quiser ver seu arquivo .inc, supondo que você alterou as permissões do mesmo para não ser lido, ele pode ter uma página de HTTP 403(Proibido).

Se ele tentar acessar o arquivo .inc e você tiver alterado para esse ser executado pelo PHP, ele verá uma página em branco, pois o seu arquivo não envia nada para o browser, apenas conecta com o MySQL.

Se ele tentar acessar e você tiver alterado para .php, no primeiro momento, ele verá uma página de HTTP 404(não encontrado), pois o arquivo .inc não existe mais. Num segundo momento, supondo que ele tenha descoberto a nova localização, ele também verá uma página em branco.

Espero que o artigo seja útil a toda a comunidade.

Abraços,

Victor Henrique

Comentários:

Mostrando 1 - 10 de 13 comentários
Ricardo Lopes disse:
Hm... bom tópico...
Porém, muito trabalho pra uma coisa tão simples!

os arquivos .inc não existem para ficar na pasta "www" junto com os demais arquivos php, justamente pela falha de segurança que isso gera.

Geralmente, existe uma pasta chamada "includes", que fica dentro do diretório raiz, assim como o diretório "www" (onde ficam os arquivos php).

Lá, sim, é o local adequado para deixar os arquivos .inc, pois esta pasta nao pode ser acessada externamente (o unico diretório dentro do diretório raiz que pode ser acessado externamente é o "www").

Os arquivos php que estiverem dentro da pasta "www" poderão acessar a pasta "includes", já que estão dentro da mesma máquina local, mas pessoas de redes externas, não conseguirão a menos que possuam a senha do FTP.

Isso mata a idéia de acessos pela URL, baixa do arquivo texto e etc, como dito no tópico.

Além disso, é possível alterar o diretório padrão onde ficam os includes, através do arquivo php.ini...

Os arquivos .inc, quando utilizados corretamente, são muito úteis e seguros e não podem ser acessados pela url a menos que haja falha de estrutura, como o exemplo abordado no tópico.

Espero ter ajudado!
16/03/2010 10:25pm (~14 anos atrás)

Parabêns pelo conteudo da matéria.......tomei a liberdade de indica-la para os amigos do iMasters.

Abraços

ACLourenço
29/03/2004 8:55am (~20 anos atrás)

seria um arquivo texto de "arquivos proibidos para download"?
Valeu pelo artigo!
03/12/2003 2:22pm (~20 anos atrás)

marcio disse:
muito importante essa dica do include e o mais engraçado é que muita gente acaba se esquecendo desse risco ou não o conhecendo...
é sempre bom saber que tem gente diposta a alertar para os riscos de segurança...
abraços a todos

Marcio
01/12/2003 12:50pm (~20 anos atrás)

Realmente é uma ótim alternativa, valeu Marcos.
17/11/2003 11:09am (~20 anos atrás)

Leonardo disse:
Legal o artigo, mas .INC é uma extensão muito visada... É mais fácil criar uma pasta de includes e tratá-los por .PHP. Usar um robot.txt para evitar downloads desses arquivos também é muito bom. Todo cuidado é pouco. Na Web então, quase nada.
17/11/2003 9:23am (~20 anos atrás)

Outra alternativa que não foi discutida é criar uma pasta chamada /inc/ fora do /htdocs/ (ou outro diretório web utilizado). O conteúdo desta pasta não pode ser baixado pela Internet por não se encontrar em área pública. Salve alí seus arquivos .inc e chame-os em seus scripts php da seguinte forma:
include("../inc/arquivo.inc");
17/11/2003 9:19am (~20 anos atrás)

Ótima dica para o meu projeto e para qualquer um!

Parabéns!
16/11/2003 6:23pm (~20 anos atrás)

É simples Lucas,
um arquivo .inc.php sinaliza claramente que é um include, mas é executado como um script PHP.
Qualquer dúvida, basta postar.
14/11/2003 1:13pm (~20 anos atrás)

Como, nem sempre vc pode adicionar um aplicativo à uma extencao, recomenda-se a utilizacao de algo parecido como (nome).inc.php, sinalizando claramente, que e um include, mas potencialmente, nao tao perigoso como um .inc
14/11/2003 12:55pm (~20 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)