Manter seu site seguro deve ser uma prioridade principal para todo administrador. O WordPress é uma plataforma segura por padrão, mas isso não significa que é imune a ataques. Felizmente, mesmo que você não seja um especialista em segurança, você pode usar um arquivo chamado .htaccess para fortalecer as políticas de segurança do seu site.
.htaccess é um arquivo de configuração para o servidor web Apache, que serve a muitos sites do WordPress. É uma ferramenta poderosa que ajuda a proteger seu site e aprimorar seu desempenho através de pequenas alterações em seu código. Editando este arquivo, você pode banir usuários, criar redirecionamentos, prevenir ataques e até mesmo negar acesso a partes específicas do seu site.
Introdução ao Arquivo .htaccess
.htaccess é a abreviação de “HyperText Access”. É um arquivo de configuração que determina como servidores baseados em Apache interagem com o seu site. Em termos mais simples, .htaccess controla como os arquivos em um diretório podem ser acessados. Você pode pensar nele como um guarda para o seu site, porque decide quem deixar entrar e o que eles têm permissão para fazer.
Por padrão, um arquivo .htaccess está tipicamente incluído na sua instalação do WordPress. O principal objetivo deste arquivo é melhorar a segurança e o desempenho. Além disso, ele também permite que você modifique as configurações do seu servidor web.
Você provavelmente encontrará seu arquivo .htaccess no diretório raiz do seu site. Como o .htaccess se aplica tanto ao seu próprio diretório quanto a quaisquer subdiretórios dentro dessa pasta principal, ele impacta todo o seu site WordPress.
Vale também ressaltar que o arquivo .htaccess não possui uma extensão de arquivo. O ponto no início apenas garante que o arquivo permaneça oculto.
Como Editar o Seu Arquivo .htaccess do WordPress
Editar o arquivo .htaccess é, na prática, tão simples quanto editar qualquer outro arquivo de texto. No entanto, por ser um arquivo principal, fazer alterações nele pode ter consequências não intencionais.
Por essa razão, é extremamente importante que você faça backup do seu site antes de começar, independentemente de ser um iniciante ou um desenvolvedor experiente.
Quando você estiver pronto para editar seu arquivo .htaccess, você pode acessá-lo usando Protocolo de Transferência de Arquivos Seguro (SFTP) ou Secure Shell (SSH). Você encontrará o .htaccess no diretório raiz do seu site:
Abra o arquivo usando o seu editor de texto preferido, como TextEdit ou Notepad. Se o arquivo nunca foi editado antes, você verá as seguintes informações padrão:
É importante não adicionar ou alterar nada entre as tags # BEGIN e # END. Em vez disso, todo o novo código deve ser adicionado após este bloco.
Neste ponto, tudo o que você precisa fazer é adicionar seu código e salvar o arquivo. Quando você estiver incluindo várias novas funções, é melhor salvar e testar cada uma separadamente. Se ocorrer um erro, isso tornará muito mais fácil solucionar qual alteração causou o problema.
Embora quase todas as instalações do WordPress já contenham um arquivo .htaccess, em alguns casos, você pode precisar criar um. Você pode fazer isso usando um editor de texto de sua escolha, desde que o salve com o nome de arquivo correto: .htaccess sem extensão.
É importante também configurar as configurações de permissão do arquivo corretamente. Você pode então fazer o upload de .htaccess para o diretório raiz do seu site.
9 Coisas Que Você Pode Fazer Com Seu Arquivo .htaccess do WordPress
Agora que você está familiarizado com o arquivo .htaccess, é hora de aprofundar-se. Vamos apresentar várias maneiras de você aumentar facilmente a segurança e o desempenho do seu site editando este arquivo.
Basta usar os trechos de código que fornecemos abaixo e lembre-se de criar um backup antes de começar!
1. Negar Acesso a Partes do Seu Site
Uma das coisas mais úteis que você pode fazer com .htaccess é negar acesso a certas páginas e arquivos. Existem alguns arquivos que você deve considerar esconder dessa maneira por motivos de segurança, como seu arquivo wp-config.php.
Você pode fazer isso adicionando o seguinte código, que causará o aparecimento de um erro 404 se alguém tentar visualizar o arquivo:
<Files ~ "/wp-config.php"> Order Allow,Deny Deny from All </Files>
Nos casos em que os dados sensíveis devem ser ocultados, pode ser útil restringir o acesso ao diretório correspondente. Como muitos sites do WordPress usam a mesma estrutura de pastas, essa configuração pode deixar seu site vulnerável. Se você adicionar a seguinte linha, ela desativará a funcionalidade padrão de listagem de diretórios:
Options -Indexes
Isso impedirá que usuários e robôs visualizem a estrutura de suas pastas. Se alguém tentar acessá-la, será exibida uma página de erro 403 em vez disso.
2. Redirecionar e Reescrever URLs
Criando redirecionamentos permite que você envie automaticamente os usuários para uma página específica. Os redirecionamentos podem ser particularmente úteis se uma página foi movida ou excluída, e você deseja que os usuários que tentem acessá-la sejam direcionados para outro lugar.
Você pode realizar isso com um plugin como Redirection, mas também é possível fazer isso editando o arquivo .htaccess. Para criar um redirecionamento, use o seguinte código:
Redirecionar /oldfile.html http://www.example.com/newfile.html
Você provavelmente pode ver o que está acontecendo aqui. A primeira parte é o caminho para o arquivo antigo, enquanto a segunda parte é o URL para o qual você deseja que os visitantes sejam redirecionados.
3. Forçar seu site a carregar de forma segura com HTTPS
<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class=’embed-container’><iframe src=’https://www.youtube.com/embed/QeicRf_Ri3Y’ frameborder=’0′ allowfullscreen></iframe></div>
Se você adicionou um certificado SSL ao seu domínio, como o certificado gratuito Let’s Encrypt da DreamHost, é uma boa ideia forçar seu site a carregar usando HTTPS. Isso garantirá que seu site seja mais seguro tanto para você quanto para seus visitantes.
Você pode tornar isso possível adicionando o seguinte código:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Seu site agora redirecionará automaticamente qualquer solicitação HTTP e as direcionará para usar HTTPS em vez disso. Por exemplo, se um usuário tentar acessar http://www.example.com, ele será automaticamente redirecionado para https://www.example.com.
4. Alterar Configurações de Cache
Cache do navegador é um processo onde certos arquivos do site são temporariamente salvos no dispositivo local do visitante para permitir que as páginas carreguem mais rapidamente. Usando .htaccess, você pode alterar a quantidade de tempo que seus arquivos são armazenados no cache do navegador até que sejam atualizados com novas versões.
Existem algumas maneiras diferentes de fazer isso, mas para este exemplo, usaremos uma função chamada mod_headers. O seguinte código mudará o tempo máximo de Cache para todos os arquivos jpg, jpeg, png e gif:
<ifModule mod_headers.c> <filesMatch ".(jpg|jpeg|png|gif)$"> Header set Cache-Control "max-age=2592000, public" </filesMatch>
Definimos o tempo máximo em 2.592.000 segundos, o que equivale a 30 dias. Você pode alterar essa quantidade se desejar, assim como as extensões de arquivo que serão afetadas. Se você quiser adicionar configurações diferentes para diferentes extensões, basta adicionar mais funções mod_header.
5. Prevenir Certos Ataques de Injeção de Script
Injeção de script (ou ‘injeção de código’) tenta alterar a forma como um site ou aplicação é executado adicionando código inválido. Por exemplo, alguém pode adicionar um script a um campo de texto no seu site e depois submetê-lo, o que poderia fazer com que seu site execute realmente o script.
Você pode adicionar o seguinte código para proteger contra certos tipos de injeção de script:
Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L]
Seu site agora deve ser capaz de detectar e impedir tentativas de injeção de script e redirecionar o culpado para sua página index.php.
Contudo, é importante notar que este exemplo não protegerá contra todos os tipos de ataques por injeção. Embora este código específico possa certamente ser útil, você não deve usá-lo como sua única proteção contra este tipo de ataque.
6. Interrompa Ataques de Enumeração de Usuários
A enumeração de nomes de usuário é um processo onde os nomes de usuário do seu site são coletados observando a página de autor de cada usuário. Isso é particularmente problemático se alguém conseguir encontrar o nome de usuário do seu administrador, o que facilita muito o acesso dos bots ao seu site.
Você pode ajudar a prevenir a enumeração de usuários adicionando o seguinte código:
RewriteCond %{REQUEST_URI} !^/wp-admin [NC] RewriteCond %{QUERY_STRING} author=d RewriteRule .* - [R=403,L]
Isso interromperá certas tentativas de enumerar nomes de usuário e exibirá uma página de erro 403 em vez disso. Tenha em mente que isso não impedirá toda a enumeração, e você deve testar sua segurança cuidadosamente. Também recomendamos fortalecer sua página de login ainda mais, implementando Autenticação Multifatorial.
7. Evitar o Hotlinking de Imagens
Hotlinking de imagens é um problema comum que ocorre quando imagens no seu servidor estão sendo exibidas em outro site. Você pode impedir isso adicionando o seguinte código ao .htaccess:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://(www.)?example.com/.*$ [NC] RewriteRule .(png|gif|jpg|jpeg)$ https://www.example.com/wp-content/uploads/hotlink.gif [R,L]
Substitua example.com pelo seu próprio domínio, e esse código impedirá o carregamento de imagens em todos os outros sites. Em vez disso, a imagem que você especificar na última linha será carregada. Você pode usar isso para enviar uma imagem alternativa para sites que tentam exibir gráficos do seu servidor.
Tenha cuidado, pois isso pode causar problemas quando você deseja que as imagens apareçam externamente, como em motores de busca. Você também pode considerar vincular a um script em vez de uma imagem estática, e então responder com uma imagem com marca d’água ou uma imagem que contém um anúncio.
8. Controle Suas Extensões de Arquivo
Usando .htaccess, você pode controlar como arquivos de diferentes extensões são carregados pelo seu site. Há muito que você pode fazer com esse recurso, como executar arquivos como PHP, mas vamos apenas olhar um exemplo básico por agora.
O código a seguir irá remover a extensão do arquivo de arquivos PHP quando eles forem carregados. Você pode usar isso com qualquer tipo de arquivo, desde que substitua todas as instâncias de “php” pela extensão que deseja:
RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*index HTTP/ RewriteRule ^(.*)index$ http://example.com/$1 [L,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/$ http://example.com/$1 [L,R=301] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.+).php HTTP/ RewriteRule ^(.+).php$ http://example.com/$1 [L,R=301] RewriteRule ^([a-z]+)$ /$1.php [L]
Isso fará com que todos os arquivos PHP sejam carregados sem exibir sua extensão na URL. Por exemplo, o arquivo index.php aparecerá apenas como index.
9. Forçar Arquivos para Download
Finalmente, quando um arquivo é solicitado em seu site, o comportamento padrão é exibi-lo no navegador. Por exemplo, se você está hospedando um arquivo de áudio, ele começará a tocar no navegador em vez de ser salvo no computador do visitante.
Você pode alterar isso forçando o site a baixar o arquivo em vez disso. Isso pode ser feito com o seguinte código:
AddType application/octet-stream mp3
Neste exemplo, usamos arquivos mp3, mas você pode usar a mesma função para txt, mov ou qualquer outra extensão relevante.
Melhore a Segurança e o Desempenho do Seu Site
O arquivo .htaccess proporciona flexibilidade para controlar como o seu servidor web se comporta. Você também pode usá-lo para aumentar o desempenho do seu site e obter mais controle sobre quem pode acessar quais informações.
Com .htaccess, você pode negar acesso a partes específicas do seu site. Além disso, ele permite redirecionar URLs, forçar seu site a carregar via HTTPS e prevenir alguns ataques de injeção de scripts.
Editar o seu arquivo .htaccess é apenas uma das formas de melhorar a segurança do seu site. Escolher um provedor de hospedagem WordPress seguro é outra. Confira nossos planos de hospedagem gerenciada DreamPress para ver como podemos aumentar a segurança e o desempenho do seu site!
Faça Mais com o DreamPress
Os usuários do DreamPress Plus e Pro têm acesso ao Jetpack Professional (e mais de 200 temas premium) sem custo adicional!
Conheça os Planos