Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Tenho uma pasta com alguns arquivos que são incluídos via PHP na página inicial do site. Só que se esses arquivos forem acessados diretamente, eles apresentam mensagem de erro, o que não é legal.
Alguns arquivos PHP eu protegi com esse código:
if(!function_exists('pag_inicial'))
exit('Você não tem acesso a esta pasta.');
A função pag_inicial só existe na página inicial, onde o arquivo que tem esse código é incluído. Mas tem alguns arquivos que não posso colocar esse tipo de verificação.
Então, como eu posso bloquear o acesso a pasta, sendo que nela contém arquivos PHP, CSS, JS e imagens?
Você pode inserir um .htaccess nas pastas para bloquear os arquivos e de quebra um erro personalizado com o logotipo do site e coisa do genero.
Seria algo parecido com isso
Options -Indexes
ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
Maiores informações: Clique aqui
Teria como o .htaccess bloquear somente a pasta raiz e não as subpastas?
Assim:
www> (não bloquear)
documentos> (bloquear)
javascript (não bloquear)
imagens (não bloquear)
css (não bloquear)
javascript, imagens e css estão dentro da pasta "documentos" não devem ser atingidas pelo .htaccess
Já a pasta "documentos" deve ser fechada.
alguém? alguma idéia?
@EDIT
Resolvi!
Coloquei assim:
Options -Indexes
RewriteEngine On
RewriteRule \.(php)$ - [F]
Só pra explicar, a primeira linha impede a listagem de arquivos nos diretórios e sub-diretórios. A segunda e terceira linha impedem que os arquivos .php sejam acessados diretamente pela URL, evitando assim o aparecimento de mensagens de erro se algum engraçadinho tentar abrí-los.
amigo uma saida poderia ser colocar um index.htm em branco nessa pagina,
ai ao acessarem por exemplo http://www.seusite.com.br/paginarestrita
ficaria apenas uma página em branco, voce pode tambem colocar uma meta tag para redirecionar ;)
é 1 ideia, n sei se é util pra voce, mas tentei ;)
abraço