Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bem pessoal, estou solicitando uma ajuda para proteger os sites de meus cliente nos seguintes pontos:
1- Acesso a diretorios
2- Acesso a arquivos
Eu não sei se o primeiro ponto desse post anula o segundo já que o diretório estaria restrito.
Estudei um pouco sobre o arquivo .htaccess mais não ficou claro pra mim e também não sei se é a melhor solução
para meu caso.
1- Preciso impedir acesso a diretorios dos meus sites dessa forma:
http://www.dominio.com.br/diretorio/
Porem se o acesso for feito atraves dos links do proprio site ele rode normal
###############################################################################
2- Preciso impedir acesso a arquivos do site dessa forma:
http://www.dominio.com.br/css/style.css/
Porem o site de rodar e carregar os arquivos normalmente
###############################################################################
Resumindo tudo isso, o site deve funcionar normalmente e identifique quando alguem tentar acessar
diretorios e arquivos atraves da digitação de endereço por URL.
O mesmo ao tentar fazer isso sera restringido sendo redirecionado a uma pagina de erro personalizada
ou redirecionado para o index.
Espero ter sido claro e aguardo uma ajuda, obrigado!
Ok, até ai tudo bem, mais como faço para redirecioná-lo para uma página específica?
Obrigado!
A um tempo atrás eu fiz isso.
Criei por exemplo uma pasta chamada arquivos, dentro dela um .htacess, com isso:
Options -Indexes
<Files .htaccess>
order allow,deny
deny from all
</Files>
Options +FollowSymlinks
RewriteEngine On
RewriteRule .\.$ erro.php [nc]
Assim sempre que alguem tenta acessar qualquer arquivo ou pasta dentro da pasta arquivos, ele redireciona para o arquivo erro.php.
Ae eu tenho um página download.php, onde é verificado se o usuário x tem acesso ao arquivo y, se ele tiver, roda esse código:
$file = "arquivos/".$arquivonomebanco;
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
Até mais.
obrigado!
Resolvi aqui pelo servidor.
E atribui seu script para redirecionar!
Abração
No diretório que deseja impedir o acesso crie um arquivo .htaccess com o seguinte conteúdo:
Deny from all
Um abraço!