Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

ProperEscapingFunction: flag printf() usages for placeholders being escaped incorrectly

Aberta
#674 5 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
42/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
php
Domínio
security, tooling

Direção de pesquisa

Comece localizando a regra ProperEscapingFunction e o tratamento que ela faz das chamadas a printf(). Compare os exemplos de PHP reportados e não reportados na issue e, em seguida, encontre a cobertura de testes existente da regra. A tarefa estará concluída quando argumentos de placeholder escapados incorretamente forem reportados, enquanto o escaping correto mostrado e os casos de funções de tradução forem aceitos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Type: Enhancement

Describe the solution you'd like

When printf() is used, we should ensure that the content in the placeholders are correctly escaped.

What code should be reported as a violation?

printf(
	'<a class="%s" href="%s">%s</a>',
	esc_url( $class ), // Error.
	esc_attr( $url ), // Error.
	esc_attr( $content ), // Error.
);
printf(
	'<a class="%s" href="%s">%s</a>',
	esc_html__( $class, 'domain' ), // Error.
	esc_url( $url ),
	esc_attr_x( $content, $context, 'domain' ), // Error.
);

What code should not be reported as a violation?

Correct usages of escaping:

printf(
	'<a class="%s" href="%s">%s</a>',
	esc_attr( $class ),
	esc_url( $url ),
	esc_html( $content )
);

Correct usages of escaping with translation functions:

printf(
	'<a class="%s" href="%s">%s</a>',
	esc_attr_x( $class, $context, 'domain' ),
	esc_url( $url ),
	esc_html__( $content, 'domain' )
);

Additional context

Linguagem predominante
PHP
Estrelas
261
Forks
44
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Automattic/VIP-Coding-Standards

Todas as issues de Automattic/VIP-Coding-Standards

Issues semelhantes

Mais issues de PHP

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.