php fopen não abre o arquivo, ele permissão para leitura não é dado ao mundo / público?
-
21-08-2019 - |
Pergunta
o fopen php não abrir um arquivo para leitura, se a permissão de arquivo é 440. Eu não quero dar 444 permissão para o arquivo, para que ele não pode ser acessado diretamente através de uma URL.
Solução
Você pode fazer como tj111 sugere, bloqueá-lo com .htaccess.
Mas ainda melhor idéia é colocá-lo fora da raiz www.
Por exemplo, se seus arquivos PHP estão em / home / user / public_html / , coloque seus arquivos com acesso limitado por exemplo em / home / user / inclui dando-lhes 644 (rw-r--r--
). Você pode limitar as permissões do diretório para 711 (rwx--x--x
), para que ninguém, mas você pode ver quais arquivos estão lá. Isso não impede que você, porém, a partir da leitura ou incluindo esses arquivos usando PHP.
Outras dicas
Assumindo que você está usando Apache com PHP, a maneira mais fácil de contornar esse problema é limitar o acesso aos arquivos usando Apache, mas permitir o acesso de leitura global. A maneira de fazer isso é manter todos os arquivos que você quer fora dos limites em seu próprio diretório, e no arquivo .htaccess colocar isso:
Order Allow , Deny
Deny from all
Agora você pode ter permissões de leitura globais, mas se você tentar acessar o arquivo diretamente da web que você vai obter um erro de permissão negada.