Você pode corrigir isso via configuração do apache. Consulte o link
Usando um
<Directory /mydir>
Order deny,allow
Deny from all
</Directory>
, o acesso externo ao diretório é bloqueado, mas os scripts php ainda podem acessá-lo.
Eu configurei recentemente um novo servidor virtual para hospedar meus sites. Eu sou muito novo para sistemas baseados em Linux e coisas sysadmin e, como resultado, tenho algumas perguntas com relação às permissões de arquivos e diretórios.
Meu site principal está localizado em / var / www e lá eu tenho um diretório onde guardo alguns scripts PHP, um dos quais contém os detalhes da conexão com o banco de dados. O que eu pretendo fazer é garantir que ninguém tenha acesso a esses scripts visitando www.mydomain.co.uk/mydir, mas eles ainda são acessíveis ao usuário do www-data, para que possam ser chamados e executados de outras páginas do site. site.
Meu pensamento inicial é alterar as permissões nos arquivos para 400; no entanto, não sei o que fazer com relação às permissões do diretório.
Como eu altero as permissões no diretório para que os arquivos dentro dele possam ser executados, mas não sejam vistos pelas pessoas quando elas acessam www.mydomain.co.uk/mydir?
Você pode corrigir isso via configuração do apache. Consulte o link
Usando um
<Directory /mydir>
Order deny,allow
Deny from all
</Directory>
, o acesso externo ao diretório é bloqueado, mas os scripts php ainda podem acessá-lo.
Uma pilha Apache / PHP configurada corretamente não permitirá que o arquivo .php contendo os detalhes do seu banco de dados seja enviado para o navegador, porque ele será interpretado como um script .php e não como texto. Portanto, se alguém se deparar com esse diretório ou arquivo, ele não verá o login do banco de dados - novamente, desde que o Apache esteja configurado corretamente e não haja erros no script.
No entanto, é uma boa prática colocar scripts em um diretório diferente do diretório público, um que não seja servido diretamente pelo Apache. Muitas respostas úteis estão disponíveis no Stackoverflow com algumas pesquisas, aqui está uma:
Editar:
E outro.
Além disso, se você estiver realmente interessado em aprender PHP, eu verificaria algumas estruturas para aprender ENQUANTO você está aprendendo a linguagem, o que ajuda a lidar com algumas dessas coisas e também fornece segurança em áreas que você não conhecia. você precisava disso. O PHP não é uma linguagem inerentemente insegura, mas é muito fácil escrever uma aplicação insegura.
se você tem um index.php, não importa se eles vão para / var / www / mydir porque ele só exibe o que está no index.php.