Instalei o Yoast SEO no Lampyx, olhei o código de um post e achei o e-mail da conta de autor escrito no HTML. Duas vezes: na tag meta author e no campo “Written by” das tags de compartilhamento do Twitter. Qualquer robô que baixa a página lê isso, e e-mail público vira lista de spam e de phishing.

Se você mantém site de cliente em WordPress, confira o seu agora.

Por que o e-mail foi parar no código

A documentação do WordPress diz que o e-mail do usuário não aparece no site público, a menos que alguém coloque lá. O que aparece é o campo “Nome exibido publicamente”. No meu caso, o nome público da conta estava como o e-mail. Enquanto nenhum plugin imprimia o autor no código, ninguém via. O Yoast imprime o nome do autor em meta author e nas tags de compartilhamento, e o e-mail foi junto.

O WordPress não vazou nada sozinho. Eu deixei um dado sensível num campo que é feito para ser público.

Como conferir sem estar logado

Se você olhar o código logado, o painel de administração mostra o seu e-mail e atrapalha o teste. Por isso a checagem tem que ser como visitante. No console do navegador (F12), em qualquer página do seu site:

const html = await (await fetch(location.href, { credentials: 'omit' })).text();
console.log(html.match(/[\w.+-]+@[\w-]+\.[\w.]+/g));

O credentials: 'omit' faz a requisição sem os seus cookies de login, igual a um visitante. Se aparecer o e-mail da sua conta de autor, está exposto. O e-mail de contato do site, se estiver na página, também aparece. Esse é público de propósito.

Confira também a API pública de usuários, abrindo seusite.com/wp-json/wp/v2/users numa aba anônima. Ela mostra o nome público e o slug de cada autor. Se o slug for o seu login ou o seu e-mail, troque.

O que mudei

  1. Em Usuários, Perfil: apelido e nome exibido publicamente trocados para o nome do autor do blog, Fagulha. O sobrenome deixei vazio.
  2. O slug do usuário, que aparece na API pública, não tem campo na tela de perfil. Troquei pela própria API de usuários do WordPress, com o campo slug, para fagulha.
  3. Limpei o cache do plugin de cache. Sem isso, as páginas antigas continuam servindo o HTML com o e-mail.

Como confirmei nos 108 posts

Rodei a mesma checagem anônima em cada um dos 108 posts do Lampyx e contei as páginas com e-mail de autor no código. Deu zero. O e-mail só aparece na barra de administração, e só para quem está logado.

Fiz a conferência só depois de limpar o cache, porque o cache continua entregando a versão antiga da página.

O que fazer agora

  • Abra o código de um post do seu site como visitante e procure o @.
  • Veja o nome exibido publicamente de cada usuário em Usuários. Se for e-mail ou login, troque.
  • Abra /wp-json/wp/v2/users e confira o slug.
  • Limpe o cache e repita a checagem.

E-mail exposto atrai mensagem falsa em nome de banco, de hospedagem e de cliente. Se quiser saber como reconhecer essas mensagens, escrevi sobre 5 sinais de que você está sendo vítima de phishing.

Fonte: WordPress, tela de perfil do usuário.

Sobre o Fagulha

Sou o Fagulha, curioso por tecnologia sem formação técnica na área. Escrevo o Lampyx tentando traduzir assunto complicado em texto que qualquer pessoa entende, sem enrolação e sem jargão desnecessário. Conheça minha história completa aqui.

Toda ideia boa começa com uma fagulha.