CitanMK Postado Fevereiro 16, 2005 Denunciar Share Postado Fevereiro 16, 2005 Estou rodando um webserver de cadastros pelo Apache mas tenho uma duvida. É o seguinte:Eu possuo um sistema de cadastro em php onde por exemplo o cadastrar.php busca a configuração no config.php (onde fica username e senha do banco de dados)Ta tudo funcionando corretamente mas tem um lance que é o seguinte:Da forma atual qualquer um pode chegar e abrir o config.php e ver minhas senhas armazenadas nele já que todos os arquivos tão "acessiveis".Eu tentei bloqueando o arquivo config.php fazendo um .htaccess usando o lance de bloquear pelo nome do arquivo ou extenção mas ao bloquear no .htaccess já era tambem o index.php que não consegue localizar o banco de dados com username e senha gravados no config.php.Resumindo: Como que eu bloqueio e oculto no Apache um arquivo .php ou outra extenção ou ate mesmo um diretorio de ser acessado diretamente ou lido por qualquer um mas sem prejudicar outros arquivos que dependam dele pra funcionar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Fevereiro 16, 2005 Denunciar Share Postado Fevereiro 16, 2005 Ninguém de fora do servidor pode pegar o conteúdo de um arquivo .php. A pessoa precisa estar dentro do servidor. Se alguém eventualmente invadisse o seu servidor, poderia, então, pegar as suas senhas, bem como as senhas de 99% de todo mundo que usa PHP ou fazer qualquer coisa com a sua database e arquivos.Então não tem do que se preocupar. Se alguém digitar o endereço do seu config no browser não vai ver nada (bom, a menos que você não tenha dado "echo" nas senhas ) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CitanMK Postado Fevereiro 16, 2005 Autor Denunciar Share Postado Fevereiro 16, 2005 Eu desconfiava tambem de php num pegar nada mas o lance é que existem alguns .txt com senha (que são acessados por outros arquivos) e alguns server.dat (que tambem são acessados) e esses o pessoal consegue pegar a senha só abrindo, como impedir? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Fevereiro 16, 2005 Denunciar Share Postado Fevereiro 16, 2005 Claro, né, arquivos .txt, .dat ou qualquer outra extensão que tenha só texto dentro são abertos sem maiores problemas por qualquer um...eu colocaria esses arquivos em PHP e as informações sigilosas dentro dele, em variáveis.Mas tem algumas configurações de CHMOD e do .htaccess que podem impedir isso, eu acho, nunca mexi com isso, sempre deixo senhas e etc em arquivos .php.É a solução mais rápida e eficiente na minha opinião. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CitanMK Postado Fevereiro 16, 2005 Autor Denunciar Share Postado Fevereiro 16, 2005 É que no caso num posso mudar a extenção do .txt porque há outros arquivos que precisam dele com esse nome e não tenho como mudar na fonte a extenção pra localizar ele modificado, mas valeu e quem souber como impedir to no aguardo.Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Fevereiro 16, 2005 Denunciar Share Postado Fevereiro 16, 2005 · http://phpbrasil.com/faqs/faq.php/id/12 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CitanMK Postado Fevereiro 17, 2005 Autor Denunciar Share Postado Fevereiro 17, 2005 Valeu pela ajuda e quem tem duvida de segurança vo explicar como eu fiz que já ajudou:Eu fiz o lance de fazer o index.html vazio em todas as pastas (pra não listar diretorios).Alem disso fiz um .htaccess no diretorio inicial com o seguinte:IndexIgnore * (impede a listagem de diretorios em todas as pastas, apesar do index.html já impedir listagem esse vale como extra)<Files *.(exemplo)>order deny,allowdeny from all</Files>(bloqueei tudo que é .txt, .exe e outros arquivos que ninguém tem motivo pra acessar)E no caso fui verificando em cada pasta os arquivos que continham senha (incluindo os .php) e como seguranca extra em cada pasta eu fiz um .htaccess em cada pasta que havia arquivo com senha e usava tipo:<Files config.php>order deny,allowdeny from all</Files>Acho que a proteção agora já ta bem legal Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 setokaiba Postado Fevereiro 17, 2005 Denunciar Share Postado Fevereiro 17, 2005 já que tamos falando de proteção pelo .htaccess também podem ser usado esse comandoinformação tirada do manual phpEscondendo o PHPEm geral, segurança por obscuridão é uma das mais fracas formas de segurança. Mas em alguns casos, cada pequeno bit extra de segurança é desejável. Algumas poucas técnicas simples podem ajudar a esconder o PHP, possivelmente atrasando um invasor que está tentando descobrir fraquezas em seu sistema. Setando expose_php = off em seu arquivo php.ini, você reduz a quantidade de informação disponível para ele. Uma outra tática é configurar os servidores tais como apache para interpretar diferentes tipos de arquivos através do PHP, ou com uma diretiva .htaccess, ou na própria configuração do apache. Você pode então usar extensões de arquivos enganadoras: Exemplo 15-18. Escondendo PHP fazendo parecer com outra linguagem# Fazer o código PHP parecer com outros tipos de códigosAddType application/x-httpd-php .asp .py .pl Ou escondê-lo completamente: Exemplo 15-19. Usando tipos desconhecidos para extensões do PHP# Fazer o código PHP parecer com tipos de códigos desconhecidosAddType application/x-httpd-php .bop .foo .133t Ou escondê-lo no código HTML, que tem baixa chance de ser atingido porque todos os HTML serão interpretados pelo PHP: Exemplo 15-20. Usando tipos de HTML para extensões do PHP# Fazer todo o código parecer com HTMLAddType application/x-httpd-php .htm .html Para este exemplo trabalhar efetivamente, você deve renomeiar todos os seus arquivos PHP com as extensões acimas. Apesar dessa ser a forma de segurança através obscuridão, ela é a medida menos preventiva e com algumas desvantagens. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
CitanMK
Estou rodando um webserver de cadastros pelo Apache mas tenho uma
duvida. É o seguinte:
Eu possuo um sistema de cadastro em php onde por exemplo o
cadastrar.php busca a configuração no config.php (onde fica username e
senha do banco de dados)
Ta tudo funcionando corretamente mas tem um lance que é o seguinte:
Da forma atual qualquer um pode chegar e abrir o config.php e ver
minhas senhas armazenadas nele já que todos os arquivos tão
"acessiveis".
Eu tentei bloqueando o arquivo config.php fazendo um .htaccess usando o
lance de bloquear pelo nome do arquivo ou extenção mas ao bloquear no
.htaccess já era tambem o index.php que não consegue localizar o banco
de dados com username e senha gravados no config.php.
Resumindo: Como que eu bloqueio e oculto no Apache um arquivo .php ou
outra extenção ou ate mesmo um diretorio de ser acessado diretamente ou
lido por qualquer um mas sem prejudicar outros arquivos que dependam
dele pra funcionar?
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.