Pesquisa de site

25 truques úteis do Apache '.htaccess' para proteger e personalizar sites


Os sites são partes importantes de nossas vidas. Eles servem como meio para expandir negócios, compartilhar conhecimento e muito mais. Anteriormente restrito a fornecer apenas conteúdo estático, com a introdução de linguagens de script dinâmicas do lado do cliente e do servidor e o avanço contínuo da linguagem estática existente, como html para html5, adicionando toda a dinamicidade possível aos sites e o que resta deverá seguir em breve. futuro.

Com os sites, surge a necessidade de uma unidade que possa exibi-los para um grande público em todo o mundo. Essa necessidade é atendida pelos servidores que fornecem meios para hospedar um site. Isso inclui uma lista de servidores como: Apache HTTP Server, Joomla e WordPress que permitem hospedar seus sites.

Quem deseja hospedar um site pode criar seu próprio servidor local ou pode entrar em contato com qualquer um dos mencionados acima ou qualquer outro administrador de servidor para hospedar seu site. Mas a verdadeira questão começa a partir deste ponto. O desempenho de um site depende principalmente dos seguintes fatores:

  1. Largura de banda consumida pelo site.
  2. Quão seguro é o site contra hackers.
  3. Otimismo quando se trata de busca de dados no banco de dados
  4. Facilidade de uso quando se trata de exibir menus de navegação e fornecer mais recursos de interface do usuário.

Paralelamente, vários fatores que regem o sucesso dos servidores na hospedagem de sites são:

  1. Quantidade de compactação de dados alcançada para um determinado site.
  2. Capacidade de atender simultaneamente vários clientes solicitando um site igual ou diferente.
  3. Proteger os dados confidenciais inseridos nos sites como: e-mails, dados de cartão de crédito e assim por diante.
  4. Permitindo cada vez mais opções para aumentar a dinamicidade de um site.

Este artigo trata de um recurso fornecido pelos servidores que ajuda a melhorar o desempenho dos sites, além de protegê-los contra bots mal-intencionados, hotlinks, etc., ou seja, o arquivo ‘.htaccess’.

O que é .htaccess?

htaccess (ou acesso de hipertexto) são os arquivos que fornecem opções para os proprietários de sites controlarem as variáveis de ambiente do servidor e outros parâmetros para melhorar a funcionalidade de seus sites. Esses arquivos podem residir em todo e qualquer diretório da árvore de diretórios do site e fornecer recursos ao diretório e aos arquivos e pastas dentro dele.

Quais são esses recursos? Bem, estas são as diretivas do servidor, ou seja, as linhas que instruem o servidor a executar uma tarefa específica, e essas diretivas se aplicam apenas aos arquivos e pastas dentro da pasta na qual este arquivo está colocado. Esses arquivos ficam ocultos por padrão, pois todo o sistema operacional e os servidores da web estão configurados para ignorá-los por padrão, mas tornar os arquivos ocultos visíveis pode fazer com que você veja esse arquivo muito especial. Que tipo de parâmetros podem ser controlados é o tópico de discussão das seções subsequentes.

Nota: Se o arquivo .htaccess for colocado no diretório /apache/home/www/Gunjit/ então ele fornecerá diretivas para todos os arquivos e pastas nesse diretório, mas se este diretório contiver outra pasta, a saber: /Gunjit/images/ que novamente possui outro arquivo .htaccess então o As diretivas nesta pasta substituirão aquelas fornecidas pelo arquivo mestre .htaccess (ou arquivo na pasta acima na hierarquia).

Servidor Apache e arquivos .htaccess

O Apache HTTP Server, coloquialmente chamado de Apache, recebeu o nome de uma tribo nativa americana Apache para respeitar suas habilidades superiores em estratégia de guerra. Construído em C/C++ e XML, é um servidor web multiplataforma baseado no servidor NCSA HTTPd e tem um papel fundamental no crescimento e avanço da World Wide Web.

Mais comumente usado em UNIX, o Apache está disponível para uma ampla variedade de plataformas, incluindo FreeBSD, Linux, Windows, Mac OS, Novel Netware etc. Em 2009, o Apache se tornou o primeiro servidor a atender mais de 100 milhões de sites.

O servidor Apache possui um arquivo .htaccess por usuário no diretório www/. Embora esses arquivos estejam ocultos, eles podem ficar visíveis, se necessário. No diretório www/ há várias pastas, cada uma pertencente a um site nomeado pelo nome do usuário ou proprietário. Além disso, você pode ter um arquivo .htaccess em cada pasta que configurou os arquivos nessa pasta conforme indicado acima.

Como configurar o arquivo htaccess no servidor Apache é o seguinte…

Configuração no servidor Apache

Pode haver dois casos:

Hospedagem de site em servidor próprio

Neste caso, se os arquivos .htaccess não estiverem habilitados, você pode habilitar os arquivos .htaccess simplesmente acessando httpd.conf (arquivo de configuração padrão para Apache HTTP Daemon) e localizando a seção .

<Directory "/var/www/htdocs">

E localize a linha que diz…

AllowOverride None 

E corrija para.

AllowOverride All

Agora, ao reiniciar o Apache, .htaccess funcionará.

Hospedagem de site em servidor de provedor de hospedagem diferente

Neste caso é melhor consultar o administrador da hospedagem, se ele permite acesso aos arquivos .htaccess.

25 truques ‘.htaccess’ do servidor Web Apache para sites

1. Como habilitar mod_rewrite no arquivo .htaccess

A opção mod_rewrite permite que você use redirecionamentos e oculte seu URL verdadeiro com redirecionamento para outro URL. Esta opção pode ser muito útil, permitindo que você substitua URLs longos e longos por URLs curtos e fáceis de lembrar.

Para permitir o mod_rewrite apenas pratique adicionar a seguinte linha como a primeira linha do seu arquivo .htaccess.

Options +FollowSymLinks

Esta opção permite seguir links simbólicos e assim habilitar a opção mod_rewrite no site. A substituição do URL por um curto e nítido é apresentada mais adiante.

2. Como permitir ou negar acesso a sites

O arquivo htaccess pode permitir ou negar acesso ao site ou a uma pasta ou arquivos no diretório em que está colocado usando order, allow e < palavras-chave b>negar.

Permitindo acesso apenas ao IP 192.168.3.1
Order Allow, Deny
Deny from All
Allow from 192.168.3.1

OR

Order Allow, Deny
Allow from 192.168.3.1

A palavra-chave Order aqui especifica a ordem na qual o acesso permitir, negar seria processado. Para a instrução ‘Order’ acima, as instruções Allow seriam processadas primeiro e depois as instruções deny seriam processadas.

Negar acesso a apenas um endereço IP

As linhas abaixo fornecem os meios para permitir o acesso ao site a todos os usuários que aceitem um com endereço IP: 192.168.3.1.

rder Allow, Deny
Deny from 192.168.3.1
Allow from All

OR


Order Deny, Allow
Deny from 192.168.3.1

3. Gere documentos de erro Apache para diferentes códigos de erro.

Usando algumas linhas simples, podemos corrigir o documento de erro executado em diferentes códigos de erro gerados pelo servidor quando o usuário/cliente solicita uma página não disponível no site, como a maioria de nós teria visto a mensagem '404 Página não encontrada' em seu navegador. Os arquivos ‘.htaccess’ especificam qual ação tomar em caso de tais condições de erro.

Para fazer isso, as seguintes linhas devem ser adicionadas aos arquivos ‘.htaccess’:

ErrorDocument <error-code> <path-of-document/string-representing-html-file-content>

'ErrorDocument' é uma palavra-chave, o código de erro pode ser qualquer um entre 401, 403, 404, 500 ou qualquer erro válido representando código e por último, 'caminho do documento' representa o caminho na máquina local (caso você esteja usando seu próprio servidor local) ou no servidor (caso você esteja usando servidor de qualquer outro para hospedar seu site).

Exemplo :
ErrorDocument 404 /error-docs/error-404.html

A linha acima define o documento 'error-404.html' colocado na pasta error-docs para ser exibido caso o erro 404 seja relatado pelo servidor para qualquer solicitação inválida para uma página pelo cliente.

rrorDocument 404 "<html><head><title>404 Page not found</title></head><body><p>The page you request is not present. Check the URL you have typed</p></body></html>"

A representação acima também está correta, pois coloca a string que representa um arquivo html usual.

4. Configuração/desativação de variáveis de ambiente do servidor Apache

No arquivo .htaccess você pode definir ou desabilitar as variáveis de ambiente globais que o servidor permite que sejam modificadas pelos hosters dos sites. Para definir ou desativar as variáveis de ambiente, você precisa adicionar as seguintes linhas aos seus arquivos .htaccess.

Configurando as variáveis de ambiente
SetEnv OWNER “Gunjit Khera”
Desativando as variáveis de ambiente
UnsetEnv OWNER

5. Definindo diferentes tipos MIME para arquivos

MIME (Extensões multimídia de Internet multiuso) são os tipos reconhecidos pelo navegador por padrão ao executar qualquer página da web. Você pode definir tipos MIME para o seu site em arquivos .htaccess, para que diferentes tipos de arquivos definidos por você possam ser reconhecidos e executados pelo servidor.

<IfModule mod_mime.c>
	AddType	application/javascript		js
	AddType application/x-font-ttf		ttf ttc
</IfModule>

Aqui, mod_mime.c é o módulo para controlar definições de diferentes tipos de MIME e se você tiver este módulo instalado em seu sistema, poderá usá-lo para definir diferentes tipos de MIME para diferentes extensões usadas em seu site. para que o servidor possa entendê-los.

6. Como limitar o tamanho de uploads e downloads no Apache

Os arquivos .htaccess permitem que você controle a quantidade de dados que estão sendo carregados ou baixados por um determinado cliente do seu site. Para isso você só precisa anexar as seguintes linhas ao seu arquivo .htaccess:

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

As linhas acima definem o tamanho máximo de upload, tamanho máximo dos dados postados, tempo máximo de execução, ou seja, o tempo máximo que um usuário pode executar um site em sua máquina local, restrição de tempo máximo dentro do tempo de entrada.