Guloso Forum

~~> Tibia FanSite ~~> Um bocadinho de tudo! | ©Guloso | ~~

PeakBux
vcBux

Você não está conectado. Conecte-se ou registre-se

Full Tutorial .htaccess

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Full Tutorial .htaccess em Ter Out 30, 2007 3:30 pm

Guloso


Administrador
Administrador
Introdução:
O htaccess é um arquivo cujo nome é .htaccess, como se fosse apenas identificado pela sua extensão (possui um ponto e a extensão). É um arquivo de configuração usado pelo servidor web Apache - e apenas pelo Apache. Como o Apache domina amplamente o ambiente web, vale a pena conhecer este arquivo e seu grande potencial.

FUNÇÕES DO htaccess:
A função mais conhecida do htaccess é a de possibilitar a apresentação de páginas personalizadas para o erro 404 (arquivo inexistente). A mais conhecida, mas apenas uma das muitas funções possíveis: proteger diretórios com senha, redirecionamento automático, alteração de extensões de arquivos, bloqueio de usuários com determinados endereços IP, autorização de IPs específicos, impedir listagem de diretórios, ativar SSI, usar páginas índice diferentes, adicionar tipos MIME, evitar o "hot linking" e outras.

As principais funções do htaccess serão abordadas, explicando e exemplificando seu uso, como também apresentando suas limitações e perigos.

EXEMPLOS DE CONFIGURAÇÃO:
-Documento de erro:
Para especificar seus próprios documentos de erro, tudo o que você precisa é adicionar o seguinte comando, em UMA LINHA, ao seu arquivo htaccess:


Código:
  ErrorDocument code /diretorio/nomearquivo.ext
  ou
  ErrorDocument 404 /erros/naoencontrado.html
  e, de forma análoga,
  ErrorDocument 500 /erros/errointerno.html

Você pode usar os nomes que quiser para seus documentos de erro - para facilitar, recomendo que lembrem a função das mesmas - e colocá-los em qualquer diretório que seja acessível pela web através de uma URL. A primeira barra corresponde ao diretório raiz do site. Eu, pessoalmente, prefiro mantê-los num diretório próprio para facilitar a manutenção e para poder controlar spiders indexando estas páginas através de um arquivo ROBOTS.TXT.
Na hipótese de capturar todos os erros acima mencionados e direcionar o usuário para páginas específicas, o arquivo htaccess teria a seguinte configuração:

Código:
ErrorDocument 400 /erros/badrequest.html
    ErrorDocument 401 /erros/authreqd.html
    ErrorDocument 403 /erros/forbid.html
    ErrorDocument 404 /erros/notfound.html
    ErrorDocument 500 /erros/serverr.html

Não se esqueça de que cada precisa estar numa linha única própria. Pode-se também especificar um endereço URL completo, como por exemplo http://seusite.com/erros/notfound.html, apesar de que a forma padrão é o endereçamento relativo como mostrado acima.


-Proteção por senha:
A primeira coisa a fazer é criar um arquivo chamado .htpasswd. A convenção do nome para este arquivo é a mesma do .htaccess. É como se fosse um arquivo sem nome com a extensão .htpasswd, ou seja, um ponto seguido de htpasswd.

Este arquivo conterá o NOME e a SENHA ENCRIPTADA de todos os usuários que poderão ter acesso à area protegida. Por exemplo, o usuário com nome numaboa e senha numaboa pode ser registrado como uma das alternativas abaixo:

Código:
numaboa:$1lX5fd*H1jPk
  numaboa:62V4UJ/K/c/Wc
  numaboa:81x8xIBUZnuLw
É claro que ninguém em sã consicência vai usar nome e senha iguais, mas este é apenas um exemplo. Observe que o nome fornecido é colocado no início, seguido por dois pontos e pela senha encriptada de acordo com o método proposto para o Apache: para Unix e Linux é usada a função crypt() do próprio Apache (descrito na documentação htpasswd do Apache) e para Windows é o MD5 modificado para Apache (descrito na rfc131 e que você pode encontrar na Internet RFC/STD/FYI/BCP Archives).Se você procurar pela web vai encontrar alguns sites que oferecem o serviço de encriptação com os chamados htpasswrd generator.
CONFIGURANDO O ARQUIVO htaccess


Código:
AuthUserFile /usr/local/seu/diretorioSeguro/.htpasswd
  AuthGroupFile /dev/null
  AuthName AreaProibida
  AuthType Basic
  require user numaboa

A primeira linha corresponde ao caminho completo do servidor para o seu arquivo htpasswd. Note que não se trata de uma URL e sim de um caminho de servidor. Verifique qual é o caminho correto servidor do seu site (eu costumo usar a função phpinfo() do PHP). Saiba também que, se você colocar o arquivo htaccess no diretório raiz, todo o site ficará protegido por senha -- o que, provavelmente, não é a sua intenção.

Você pode usar qualquer nome para o seu arquivo de senhas, como senhas.txt ou qualquer outra coisa. Basta referenciá-lo corretamente. Além disso, se por acaso o caminho contiver nomes de diretórios com espaços, então será preciso colocar o caminho entre aspas -- por exemplo "/usr/local/diretorio seguro/senhas.txt".

AuthName é o nome da área protegida. Também pode ser qualquer nome que você desejar, mas evite caracteres especiais como $, %, ç ou ã.

AuthType é o tipo de autenticação. Neste caso foi escolhida a Basic porque se trata de uma autenticação porque estaremos usando a autenticação HTTP básica.

Com require user numaboa estamos indicando que apenas o usuário numaboa poderá ter acesso a esta área. Se quisermos aumentar a lista de usuários permitidos, devemos substituir require use numaboa por require valid-user. Neste caso, todos os usuários que estiverem no arquivo de senhas poderão acessar a área protegida.

Se quisermos que apenas os usuários explicitamente mencionados ou seja, apenas alguns da lista de senhas, possam acessar a área protegida, o bloco de código precisa ser:

Código:
AuthUserFile /usr/local/seu/diretorioSeguro/.htpasswd
  AuthGroupFile /dev/null
  AuthName AreaProibida
  AuthType Basic
  <Limit GET>
  require user numaboa
  require user sobmedida
  </Limit>




-Proteção por senha:
O htaccess usa Redirect para controlar qualquer solicitação para uma página específica (ou uma localização não específica que, infelizmente, leva a loops infinitos com certa facilidade) e, se encontrar a dita solicitação, ele a redireciona para a página que você especificou:

Código:
Redirect /dirAntigo/arqAntigo.html http://yoursite.com/dirNovo/arqNovo.html
Note que a diretiva é composta de 3 partes que precisam estar numa mesma linha: o comando Redirect, a localização do arquivo/diretório que você quer redirecionar relativa ao diretório raiz do seu site (/dirAntigo/arqAntigo.html corresponde a seusite.com.br/dirAntigo/arqAntigo.html) e a URL completa para onde a solicitação deve ser redirecionada. Cada uma das 3 partes é separada por UM espaço, mas tudo em uma única linha. Você também pode redirecionar um diretório inteiro usando simplesmente

Código:
Redirect /dirAntigo http://yoursite.com/dirNovo/
Usando este método, você pode redirecionar todo o conteúdo do diretório, independente do que você fizer com a sua estrutura de diretórios. É o método de efeito global mais rápido que existe.

-Bloqueando IPs:
Adicione o seguinte código no seu arquivo htaccess -- logicamente mudando os IPs para os desejados -- pondo cada comando numa linha própria:

Código:
order allow,denydeny from 123.45.6.7
    deny from 012.34.5.allow from all
Você pode recusar endereços IP ou blocos IP. O código acima nega acesso ao site se as requisições vierem do endereço IP 123.45.6.7 ou de qualquer subdomínio do bloco IP 012.34.5 (012.34.5.1, 012.34.5.2, 012.34.5.3, etc). Imagine só, com a segunda opção você pode até bloquear acessos vindos de determinado país. Coisa de louco...

É claro que, se você desejar, pode bloquear o acesso de todos usando deny from all ao invés de allow from all, mas isto não seria muito lógico -- a não ser que queira fechar para balanço )). Mas nem só de endereços IP vive o bloqueio. Você também pode usar nomes de domínios, por exemplo, allow from .numaboa.com ou deny from "www.pentelho.com.br" O primeiro libera "www.numaboa.com", "makukula.numaboa.com", etc. O segundo bloqueia apenas o que vier de "www.pentelho.com.br".

-Mudando a pagina inicial:
Que negócio é este de DirectoryIndex? Nada demais. É apenas o comando que permite especificar qual o arquivo que deve ser carregado quando chegar uma solicitação de diretório ou URL que não especifiquem uma página em especial (tipo http://www.numaboa.com/). Se você cansou de ver entrar seusite.com.br/index.html não tem problema -- pode mudar para seusite.com.br/adoropizza.html.

Código:
DirectoryIndex adoropizza.html
Isto faz com que a página default de todos os diretórios do seu site passe a ser adoropizza.html. Mas, se você quiser poder usar outras páginas ou até scripts como default, basta adicionar referências a gosto:

Código:
DirectoryIndex adoropizza.html index.cgi index.pl nhaca.htm
Adicionando a linha acima ao seu arquivo htaccess e imaginando que o arquivo htaccess esteja no seu diretório raiz, o resultado será o seguinte: quando um usuário digitar seusite.com, adoropizza.html é a primeira a ser procurada no seu diretório raiz; se for encontrada, ela é enviada ao usuário e a procura pára por aí; se não for encontrada, index.cgi é a próxima... e assim por diante até nhaca.htm. Caso nenhum dos arquivos relacionados seja encontrado, aí entra o famigerado erro 404.

Lembre-se de que todos os diretórios abaixo do diretório raiz obedecem as regras ditadas pelo primeiro htaccess acima deles, a não ser que o diretório possua seu próprio htaccess. Se não existirem outros htaccess em subdiretórios, para todos os diretórios do site vale o htaccess do diretório raiz -- as páginas default serão sempre as mesmas. É por isso que, mesmo não personalizando um htaccess próprio, as páginas default são index.html, index.htm, default.html, default.htm, etc -- o pessoal do servidor já fez esta configuração inicial.

Já usei este expediente para "proteger" alguns diretórios, geralmente com gráficos ou scripts, os quais não queria que fossem listados. Fazia um htaccess para o diretório indicando uma página inexistente: Tchan! erro 404! Solução pouco elegante mas eficaz. Eu disse "usei", não uso mais. Hoje utilizo redirecionamentos, aliás, nosso próximo tema.

É isso,
espero ter ajudado vocês
até mais

Obrigado...
Guloso*


_________________
-=- Fundador -=-

Administrador Geral!
●Tutor [100%]
>Conheçendo Tibia desde 2005< ->(Retired Now)
Ver perfil do usuário http://guloso.topicboard.net

2 Re: Full Tutorial .htaccess em Sab Nov 03, 2007 3:26 pm

Fubu


Web Designer
Web Designer
mano...isso sim q eh tuto...
mas tpw
nom entendi NADA IahiwuehAIehi


_________________
Hoster e Mapper
100%
Programmer e Scripter
70%

Criei meu Site o/
http://fubucars.netfirms.com
Blog Sobre Games
http://fubugames.blogspot.com/

===EQUIPE DE APOIO GULOSO FÓRUM===
Ver perfil do usuário http://fubucars.netfirms.com

3 Re: Full Tutorial .htaccess em Sab Nov 03, 2007 4:43 pm

TB n soh sei fazer um forum!!!


_________________
----------GM Leon xD---------
●Mapper[50%]
●Hoster [85%]
●Programmer[95%]
●scripter[95%]
●Criador[75%]
●Revolucionário[95%]
Ver perfil do usuário

4 Re: Full Tutorial .htaccess em Sab Nov 03, 2007 5:18 pm

Guloso


Administrador
Administrador
Fubu vou explikar de maneira diferente pr'a vc, entaum e assim:
.htaccess e um ficheiro como se fosse um .txt mas e .htaccess previne as pessoas d naum acederem a area de seu site q vc desejar...
por exemplo vc tem uma pasta no seu site q e www.fubu.com.br/porno para que ninguem acesse essa area "porno" vc basta por na pasta "porno" o ficheiro .htaccess q naum entra mais ninguem nessa zona Smile
tb existe uma q e assim vc coloka .htaccess com nome de usuario i palavra chave, ou seja quando vc tenta acessaar a zona "porno" pede um nome d usuario e senha para vc poder ver essa zona Smile
Obrigado
Cumpz...


_________________
-=- Fundador -=-

Administrador Geral!
●Tutor [100%]
>Conheçendo Tibia desde 2005< ->(Retired Now)
Ver perfil do usuário http://guloso.topicboard.net

5 Re: Full Tutorial .htaccess em Dom Nov 04, 2007 5:14 pm

Fubu


Web Designer
Web Designer
ahhh
agora eu sakei
vlws ae guloso =D
vivendo e aprendendo
agora to indo durmir
flws


_________________
Hoster e Mapper
100%
Programmer e Scripter
70%

Criei meu Site o/
http://fubucars.netfirms.com
Blog Sobre Games
http://fubugames.blogspot.com/

===EQUIPE DE APOIO GULOSO FÓRUM===
Ver perfil do usuário http://fubucars.netfirms.com

6 Re: Full Tutorial .htaccess em Dom Dez 30, 2007 4:59 am

Uchiha


Supremo
am.. ta

Ver perfil do usuário

7 Re: Full Tutorial .htaccess em Qua Jan 23, 2008 5:18 am

Uchiha


Supremo
me ajuda eu presiso é de baxar um e n to axanu o downloads daki do forum

Ver perfil do usuário

8 Re: Full Tutorial .htaccess Hoje à(s) 6:13 am

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum