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
- Em Usuários, Perfil: apelido e nome exibido publicamente trocados para o nome do autor do blog, Fagulha. O sobrenome deixei vazio.
- 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, parafagulha. - 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/userse 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.