Sem categoria

Como prevenir XSS em plugins e temas WordPress

Aprenda a prevenir XSS no WordPress com validação, sanitização, escape conforme o contexto, permissões e testes de plugins e temas.

Revisão técnica: 08/09/2026.

Para prevenir XSS em plugins e temas WordPress, valide e sanitize os dados recebidos, escape cada valor no momento da saída e aplique autorização às ações. O escape precisa corresponder ao contexto — texto, atributo, URL, HTML ou JavaScript — porque uma função usada no lugar errado pode deixar a injeção passar.

Entenda onde o dado será exibido

Mapeie entradas de formulários, URLs, APIs, banco e metadados até a renderização. Um valor seguro como texto pode ser perigoso dentro de atributo ou script. Evite inserir dados não confiáveis em JavaScript inline e prefira APIs que criem nós de texto em vez de interpretar HTML.

Valide e sanitize na entrada

Defina tipo, tamanho, opções permitidas e formato conforme a regra de negócio. Use a função de sanitização mais específica disponível e rejeite o que não puder ser representado com segurança. Sanitização reduz dados indesejados, mas não substitui a validação nem autoriza a operação.

Faça escape conforme o contexto

Escape o mais tarde possível, no ponto em que o valor será impresso. WordPress oferece funções diferentes para HTML, atributos, URLs e JavaScript. A documentação oficial sobre escape de dados no WordPress orienta escolher a função conforme o local da saída.

Verifique capacidade e intenção

Antes de salvar ou executar uma ação, confirme a capacidade do usuário e o objeto envolvido. Use nonces para reduzir requisições forjadas, mas não os trate como autenticação ou autorização. Aplique as verificações também em AJAX, REST, importadores e tarefas administrativas menos visíveis.

Evite correções genéricas

Um filtro global ou política de navegador não corrige todos os contextos. A OWASP destaca que XSS exige uma combinação de defesas. Não remova proteções para aceitar HTML arbitrário; quando HTML limitado for necessário, use uma lista permitida adequada ao conteúdo.

Teste, atualize e divulgue com responsabilidade

Inclua testes com caracteres especiais, atributos, URLs e permissões diferentes. Revise dependências e atualize os sites após uma correção. Ao encontrar uma falha em plugin de terceiros, contate o desenvolvedor e siga divulgação coordenada antes de publicar detalhes exploráveis. Para outra classe de entrada insegura, leia como prevenir injeção de SQL; administradores podem seguir o guia para responder a um plugin vulnerável.