O ficheiro .htaccess é o nome usual do ficheiro de configuração (ao nível de directórios) do apache e permite que as instruções do ficheiro principal de configuração (httpd.conf) sejam alteradas em run-time.Este ficheiro revela-se muito útil, contudo deve-se evitar que o mesmo cresça em demasia, pois este é verificado pelo servidor de cada vez que é feito um pedido de uma página.
Resumo de possíveis utilizações:
Controle de acesso
– Impedir o acesso a determinado directório. Criar o ficheiro .htaccess nesse directório com o seguinte conteúdo:
# Negar todos os acessos deny from all
– Negar os acessos excepto um determinado IP:
# Negar todos os acessos deny from all # Permitir que um IP possa aceder allow from xxx.xxx.xxx.xxx
– Permitir o acesso de uma gama de IP’s:
# Negar todos os acessos deny from all # Permitir que uma gama de IP's possa aceder allow from xxx.xxx.xxx.xxx/xxx
– Proteger um ficheiro:
# Negar o acesso ao ficheiro private.html <Files privado.html> Order allow,deny Deny from all </Files>
– Negar o acesso a todos os ficheiros cujo nome, por exemplo, comece por “privados”:
<Files ~ "^privados"> Order allow,deny Deny from all Satisfy All </Files>
Listagem de directórios e ficheiros
– Listar o conteúdo de um directório, por exemplo, pasta com ficheiros para downloads organizados em várias pastas,
Options +Indexes +MultiViews +FollowSymlinks
– Impedir listagem dos directórios:
IndexIgnore *
– Impedir uso abusivo dos nossos ficheiros
Para evitar hotlinking (outros sites se sirvam das nossas imagens/ficheiros), pode-se criar uma regra que negue o acesso a todos os sites excepto o nosso.
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+.)?meusite.pt[NC] RewriteRule .*.(jpg|mp3|pdf)$ HTTP://www.meusite.pt/entrada.gif [R,NC,L] </ifModule>