Como proteger seu formulário contra Spams – WordPress ou HTML

Quando você cria um formulário em seu site, a expectativa otimista é que ele seja bem aproveitado, preenchido por várias pessoas interessadas em seu negócio e que gere muitos contatos, para que alimente o seu cadastro. Mas aí que vem um grande problema: assim que seu site começa a ser divulgado no Google, logo começam os Spams! E se o formulário direciona um e-mail direto para você, aí seus problema são dobrados, além de gerar um spam no seu cadastro também gera um e-mail indesejado, com links, com vírus, com conteúdo enganoso, etc.

Como acontecem os Spams de formulário?

As mensagens de Spams são geradas automaticamente por programas ou scripts criados com esse propósito. Esses programas buscam sites que contenham formulários e preenchem automaticamente com os dados que eles quiserem. Esses programas são capazes de enviar centenas de mensagens por minuto. Se você já criou seu blog em WordPress e ativou os comentários, com certeza sabe do que estamos falando.

Como se proteger contra o Spam de formulário?

Existem algumas boas práticas para proteger seu formulário. Vamos explicar 3 delas:

1) Validação no preenchimento: com programação Javascript / Ajax, é possível validar o preenchimento de certos campos, por exemplo validar o campo de E-mail, limitar caracteres especiais, evitar letras em campo de telefone, impedir números em campos de texto, etc.

2) Validação na execução: essa validação é feita após o preenchimento dos campos, antes dos campos serem gravados no banco de dados ou enviados por e-mail. A idéia aqui é evitar caracteres especiais, códigos maliciosos inseridos no meio da mensagem, e bloquear mensagens que tenham “http” ou “ftp” entre elas.

3) Validação Captcha: é um tipo de validação que tem como objetivo verificar se o formulário está sendo preenchido por uma pessoa real ou por um script ou programa automático. Ele evita que o usuário utilize esses scripts e tenha que preencher manualmente, ou desista de fazer Spam. Costuma ser bem eficaz, apesar dos spammers estarem sempre buscando novas alternativas para burlar o sistema.

Como incluir o Certificado SSL no seu site

O SSL (Secure Sockets Layer) é um Certificado Digital que garante segurança nas transações online, entre o usuário e o website. Em termos práticos, significa que, quando um usuário preenche um formulário digital, por exemplo, as informações são criptografadas para que não haja vazamento de informações. Essa criptografia é feita por uma chave única, em posse da empresa certificadora.

A cerca de 15 anos atrás, com a popularização de sites de e-commerce, tornou-se necessário proteger informações sigilosas como cartões de crédito, dados bancários e senhas de e-mail. Fez-se necessário a utilização de criptografia para proteger tais dados, então investiu-se muito na criação de certificados que garantissem a segurança desses dados. Porém, de alguns anos para cá, cada vez mais golpes de internet obrigaram as empresas a adotarem medidas de segurança até nos formulários mais triviais.

E finalmente em julho de 2018, o Google praticamente decretou a necessidade de se possuir um certificado SSL em todos os sites, priorizando em suas buscas os sites que possuem Certificado SSL. O navegador Chrome deixou de exibir certos sites, e em alguns casos mostrando uma tela assustadora de aviso de site não seguro para os sites que não possuem SSL. E em sites com baixo risco de invasão (sites que não possuem formulários, por exemplo), simplesmente mostra um ícone e o aviso “Não seguro” no prefixo da URL, ao contrário do famoso “cadeado”.

Então para garantir segurança para seus usuários e além disso ter uma prioridade na busca do Google, todo site precisa de um certificado SSL.

Como incluir o SSL em meu site?

A maioria dos provedores de internet possuem algum tipo de pacote que inclui o certificado SSL. Na Locaweb, por exemplo, toda hospedagem possui um certificado SSL compartilhado. A maior desvantagem do SSL compartilhado em relação ao SSL próprio, é a necessidade de usar o prefixo por exemplo: https://ssl.websiteseguro.com/seu-domínio Ou seja, a URL fica um tanto longa e não intuitiva.

Vou citar aqui o exemplo de como contratar na Locaweb, que é meu provedor de hospedagem, e acredito que nos grandes provedores o processo seja semelhante. A Locaweb possui um passo a passo bem simples de seguir, e o primeiro passo é solicitar a contratação, gerar o boleto e pagar. Após a confirmação de pagamento, a Locaweb envia por e-mail um link para fazer o cadastro e solicita que se abra um chamado para gerar a chave CSR, uma espécie de senha gigantesca e portanto impossível de ser adivinhada. Essa CSR é gerada pela empresa certificadora, e depois deve ser informada para o provedor de hospedagem.

Como sou Desenvolvedor Locaweb, a própria Locaweb se encarrega de realizar alguns passos de instalação, poupando algum tempo, então o terceiro passo é a configuração de redirecionamento. Assim, se o usuário digitar por exemplo “www.nishiweb.com.br”, ele vai ser redirecionado automaticamente para “https://nishiweb.com.br”, evitando assim que ele veja uma página não segura dentro do seu site.

O redirecionamento é bem fácil de se fazer, bastando acrescentar o código abaixo no arquivo .htaccess do seu site:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.seudominio.com.br/$1 [R,L]

Caso seu site não tenha o .htaccess, é só criar um usando um bloco de notas e salvar na raiz do seu site.

Pronto, assim a segurança do seu site estará garantida!