Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#674 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
php
Área
security, tooling

Línea de trabajo

Comienza localizando la regla ProperEscapingFunction y su tratamiento de las llamadas a printf(). Compara los ejemplos de PHP reportados y no reportados en el issue y, después, encuentra la cobertura de pruebas existente de la regla. Se considera terminado cuando se informan los argumentos de marcador de posición escapados incorrectamente, mientras que se aceptan el escape correcto mostrado y los casos de funciones de traducción.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
PHP
Estrellas
261
Forks
44
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Automattic/VIP-Coding-Standards

Todos los issues de Automattic/VIP-Coding-Standards

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.