Proteger seu site WordPress contra ataques de injeção SQL é necessário para salvaguardar seus dados e manter a confiança de seus visitantes.
Injeção SQL é uma técnica comum usada por hackers para atacar seu banco de dados. Uma vez que eles fazem isso, os hackers podem ler seus dados sensíveis, modificá-los e assumir o controle de todo o seu banco de dados.
Para proteger seu site contra essa ameaça, é crucial implementar fortes medidas de segurança em seu site.
Na WPBeginner, levamos a segurança muito a sério e fizemos o possível para proteger nosso site contra hackers e malware. Muitas das práticas de segurança que recomendamos contra ataques de injeção SQL são métodos que usamos com sucesso.
Neste artigo, compartilharemos algumas dicas acionáveis para prevenir ataques de injeção SQL no WordPress, passo a passo.

Por Que Prevenir Ataques de Injeção SQL no WordPress?
SQL significa Structured Query Language (Linguagem de Consulta Estruturada), que é uma linguagem de programação que se comunica com o banco de dados do seu site WordPress. Sem esse recurso, seu site não pode gerar nenhum conteúdo dinâmico.
No entanto, entrada não autorizada do usuário, software desatualizado ou divulgação de informações sensíveis podem causar vulnerabilidade de segurança e facilitar que hackers realizem ataques de injeção SQL.
Este ataque visa seu servidor de banco de dados e adiciona código ou instruções maliciosas ao seu SQL. Ao fazer isso, os hackers podem usar informações sensíveis armazenadas em seu banco de dados, como dados de usuários, para roubo de identidade, tomada de conta, fraude financeira e muito mais.
Eles também podem alterar entradas de banco de dados ou permissões de conta e realizar ataques DDoS, tornando difícil para usuários reais visitarem seu site.
Isso pode prejudicar a confiança do cliente, impactar negativamente a experiência do usuário e diminuir o tráfego do site, o que será ruim para o crescimento do seu pequeno negócio.
Dito isso, vamos dar uma olhada em algumas dicas acionáveis que podem prevenir ataques de injeção de SQL no WordPress. Aqui está uma visão geral rápida do que falaremos neste artigo:
- Realize Atualizações Regulares do Site e Use um Firewall
- Oculte sua Versão do WordPress
- Altere o Prefixo do Banco de Dados do WordPress
- Valide Dados do Usuário
- Limite o Acesso e as Permissões de Papéis de Usuário
- Crie Mensagens Personalizadas de Erro de Banco de Dados
- Remova Funcionalidades Desnecessárias do Banco de Dados
- Bônus: Use os Serviços WPBeginner Pro para Criar um Site Seguro
Observação: Antes de fazer qualquer alteração em seu banco de dados para medidas preventivas, recomendamos criar um backup dele. Dessa forma, se algo der errado, você poderá usar o backup para corrigi-lo. Para mais detalhes, consulte nosso tutorial sobre como fazer um backup manual do banco de dados do WordPress.
1. Realize Atualizações Regulares do Site e Use um Firewall
Uma maneira eficaz de prevenir ataques de injeção de SQL é atualizar regularmente seu site WordPress para a versão mais recente. Essas atualizações geralmente corrigem vulnerabilidades de segurança, incluindo problemas de software de banco de dados, tornando difícil para os hackers atacarem seu site.
Se você estiver usando uma versão desatualizada do WordPress, recomendamos habilitar atualizações automáticas para a versão mais recente visitando a página Painel » Atualizações.
Aqui, basta clicar no link ‘Habilitar atualizações automáticas para todas as novas versões do WordPress’. Agora, todas as atualizações principais serão instaladas em seu site assim que forem lançadas.

Para mais informações, você pode gostar de ver nosso guia para iniciantes sobre como atualizar o WordPress com segurança.
Depois de fazer isso, você também pode adicionar um firewall para segurança adicional. Este recurso atua como um escudo entre seu site e o tráfego de entrada e bloqueia ameaças de segurança comuns, incluindo ataques SQL, antes que cheguem ao seu site.
Se você administra um pequeno negócio online, recomendamos a Sucuri, que é uma das melhores opções de software de firewall WordPress do mercado. Ela oferece um firewall a nível de aplicação, prevenção contra força bruta, bem como serviços de remoção de malware e listas negras, tornando-a uma ótima escolha.

Temos experiência em primeira mão com a ferramenta. Ela até nos ajudou a bloquear 450.000 ataques WordPress em nosso site no passado.
Dito isso, a Sucuri pode não ser poderosa o suficiente para sites maiores e com alto tráfego. Nesse caso, você pode considerar a Cloudflare, que pode oferecer recursos de segurança, bem como uma impressionante rede de entrega de conteúdo (CDN).
Se você não tem certeza sobre qual opção é a melhor para o seu site, confira nosso artigo sobre por que mudamos de Sucuri para Cloudflare ou nossa comparação Sucuri vs Cloudflare.
2. Oculte sua versão do WordPress
Por padrão, o WordPress exibe o número da versão atual do software que você usa em seu site. Por exemplo, se você estiver usando o WordPress 6.4, essa versão será exibida em seu site para rastreamento.
No entanto, a visibilidade pública do número da sua versão pode criar ameaças de segurança e facilitar que hackers realizem ataques de injeção SQL no WordPress.

Isso ocorre porque cada versão do WordPress tem suas próprias vulnerabilidades exclusivas que os atacantes podem explorar após descobrir sua versão. Isso permitirá que eles adicionem trechos de código malicioso ao seu site por meio de campos de entrada vulneráveis.
Você pode remover facilmente o número da versão do seu site adicionando o seguinte trecho de código ao seu arquivo functions.php.
add_filter('the_generator', '__return_empty_string');
Depois de fazer isso, os hackers não conseguirão encontrar o número da sua versão do WordPress por meio de scanners automáticos ou de qualquer outra forma.
Observação: Lembre-se de que um pequeno erro ao adicionar código pode tornar seu site inacessível. É por isso que recomendamos o WPCode. É o melhor plugin de snippets de código que torna a adição de código personalizado ao seu site super segura e fácil.
Para mais detalhes, veja nosso tutorial sobre a maneira correta de remover o número da versão do WordPress.
3. Altere o Prefixo do Banco de Dados do WordPress
Por padrão, o WordPress adiciona o prefixo wp_ a todos os seus arquivos de banco de dados, o que facilita para os hackers planejarem um ataque visando o prefixo.
A maneira mais fácil de prevenir ataques de injeção de SQL é alterar o prefixo padrão do banco de dados para algo único que os hackers não consigam adivinhar.
Você pode fazer isso facilmente conectando seu site usando FTP. Depois disso, abra o arquivo wp-config.php e encontre a linha que muda o $table_prefix
. Em seguida, você pode alterá-lo de simplesmente o padrão wp_
para algo como isto: wp_a123456_
.
$table_prefix = 'wp_a123456_';
Em seguida, você deve visitar o cPanel da sua conta de hospedagem na web. Para este tutorial, usaremos o Bluehost. No entanto, seu cPanel pode parecer um pouco diferente, dependendo da sua empresa de hospedagem na web.
Aqui, mude para a aba 'Avançado' e clique no botão 'Gerenciar' ao lado da seção 'PHPMyAdmin'.

Isso abrirá uma nova página onde você deve selecionar o nome do seu banco de dados na coluna da esquerda e mudar para a aba 'SQL' no topo.
Depois disso, você pode adicionar a seguinte consulta SQL na caixa de texto.

Apenas lembre-se de alterar o prefixo do banco de dados para aquele que você escolheu ao editar o arquivo wp-config.php.
RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;
Para mais instruções, você pode ver nosso tutorial sobre como alterar o prefixo do banco de dados do WordPress para melhorar a segurança.
4. Valide os Dados do Usuário
Hackers geralmente injetam ataques SQL em seu site usando campos para inserir dados do usuário, como seções de comentários ou campos de formulário de contato.
É por isso que é importante validar todos os dados enviados em seu blog WordPress. Isso significa que os dados do usuário não serão enviados em seu site se não seguirem um formato específico.
Por exemplo, um usuário não poderá enviar seu formulário se o campo de endereço de e-mail não tiver o símbolo '@'. Ao adicionar essa validação à maioria dos seus campos de formulário, você pode prevenir ataques de injeção de SQL.

Para fazer isso, você precisará do Formidable Forms, que é um plugin avançado de criação de formulários. Ele vem com uma opção de 'Formato de Máscara de Entrada' onde você pode adicionar o formato que os usuários devem seguir para enviar os dados do campo do formulário.
Você pode adicionar um formato específico para números de telefone ou campos de texto simples.

Se você não quiser validar os campos do seu formulário, recomendamos o WPForms porque ele é o melhor plugin de formulário de contato que vem com proteção completa contra spam e suporte ao Google reCAPTCHA.
Ele também permite que você adicione menus suspensos e caixas de seleção aos seus formulários, tornando difícil para os hackers adicionarem dados maliciosos.

Para mais detalhes, veja nosso tutorial sobre como criar um formulário de contato seguro no WordPress.
5. Limite o Acesso e as Permissões de Papéis de Usuário
Outra dica para prevenir ataques de injeção SQL no WordPress é limitar o acesso dos usuários ao seu site.
Por exemplo, se você tem um blog de vários autores, então você terá vários autores, além de assinantes e administradores. Nesse caso, você pode melhorar a segurança do site limitando o acesso total de administrador apenas ao administrador.
Você pode restringir todos os outros papéis de usuário a funções específicas que eles precisarão para realizar seu trabalho. Isso reduzirá o acesso do usuário ao seu banco de dados e prevenirá ataques de injeção SQL.
Você pode fazer isso com o plugin gratuito Remove Dashboard Access. Após a ativação, basta visitar a página Configurações » Acesso ao Painel, onde você pode decidir quais funções de usuário têm acesso ao painel.

Se você quiser limitar usuários dependendo de suas capacidades, então você pode ver nosso tutorial sobre como adicionar ou remover capacidades de funções de usuário no WordPress.
Da mesma forma, você também pode limitar os autores aos seus próprios posts em sua área de administração para maior segurança.
6. Crie Mensagens Personalizadas de Erro de Banco de Dados
Às vezes, seus usuários podem encontrar um erro de banco de dados em seu site, que pode exibir informações importantes sobre seu banco de dados, tornando-o vulnerável a ataques de injeção de SQL.
Nesse caso, recomendamos a criação de uma mensagem de erro de banco de dados personalizada que será exibida aos usuários quando eles encontrarem este erro comum. Para fazer isso, você precisará copiar e colar o seguinte conteúdo em um aplicativo de bloco de notas e salvar o arquivo como ‘db-error.php’.
<?php // custom WordPress database error page
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600'); // 1 hour = 3600 seconds
// If you wish to email yourself upon an error
// mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
You got problems.
</body>
Depois disso, conecte seu site a um programa FTP e envie o arquivo que você acabou de criar para o diretório /wp-content/ do seu site.
Agora, quando os usuários encontrarem um erro de banco de dados em seu site, eles verão uma mensagem de erro informando sobre o problema sem revelar nenhuma informação sensível.

Além disso, o título “Erro de Banco de Dados” será exibido na aba do navegador.
Para mais detalhes, veja nosso tutorial sobre como adicionar uma página de erro de banco de dados personalizada no WordPress.
7. Remova Funcionalidades Desnecessárias do Banco de Dados
Para prevenir ataques de injeção de SQL, você também deve tentar remover todas as funcionalidades e arquivos do banco de dados que você não precisa em seu site.
Por exemplo, você pode excluir tabelas desnecessárias, lixo ou comentários não aprovados que podem tornar seu banco de dados suscetível a hackers.
Para remover funcionalidades desnecessárias do banco de dados, recomendamos o WP-Optimize. É um plugin incrível que remove tabelas desnecessárias, revisões de posts, rascunhos, comentários lixeira, posts excluídos, pingbacks, metadados de posts e muito mais.

Ele remove todos os arquivos que você não precisa e otimiza seu banco de dados para se tornar mais seguro e rápido. Para mais detalhes, consulte nosso guia para iniciantes sobre como otimizar seu banco de dados WordPress.
Bônus: Use os Serviços WPBeginner Pro para Criar um Site Seguro
Depois de tomar todas as medidas preventivas contra ataques de injeção de SQL, você também pode optar pelos Serviços Profissionais WPBeginner.
Podemos ajudá-lo a identificar e corrigir quaisquer outras vulnerabilidades de segurança que você desconheça. Além disso, se você já sofreu um ataque de injeção de SQL, nossos especialistas podem ajudá-lo a conter os danos e recuperar seus sistemas.

Você também pode nos contratar para melhorar a otimização de velocidade do seu site, design, SEO, ou até mesmo reconstruir completamente seu site WordPress existente, tenha ele sido hackeado ou não.
Para mais informações, confira todos os nossos Serviços Profissionais WPBeginner.
Esperamos que este artigo tenha ajudado você a aprender como prevenir ataques de injeção de SQL no WordPress. Você também pode gostar de ver nosso guia para iniciantes sobre como verificar atualizações de segurança do WordPress ou nosso guia definitivo de segurança do WordPress.
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Moinuddin Waheed
Isso é novo para mim, que posso facilmente ocultar a versão do WordPress, o que, por padrão, impedirá que hackers adivinhem as vulnerabilidades com base nas versões do WordPress e em suas brechas.
Ótimas dicas para prevenir injeção de SQL no site.
Implementarei esses truques para tornar meu site à prova de falhas contra qualquer brecha de segurança.
Oyatogun Oluwaseun Samuel
Para mim, ocultar a versão do WordPress é novidade. Cada versão do WordPress vem com sua própria vulnerabilidade, então ocultar o número da versão deixará os hackers sem saber qual versão do WordPress está sendo usada, quanto mais explorar vulnerabilidades relacionadas, obrigado pelo aviso. Também acho que se você estiver desenvolvendo um plugin que coleta a entrada do usuário, é aconselhável escapar das entradas do usuário (após a validação normal) que serão inseridas no banco de dados.
Jiří Vaněk
A segurança do WordPress é o alfa e o ômega para mim. Relacionado a isso está o SQL, ao qual nunca prestei muita atenção. Obrigado por esta lista de ótimas dicas. Vou verificar meu blog imediatamente para ver o que posso melhorar de acordo com sua lista. Pelo menos tentarei ocultar a versão e assim por diante.