From 17719330afe1d6ba705d8923aacd90d9ad83a448 Mon Sep 17 00:00:00 2001 From: Brent Wilson Date: Tue, 26 Aug 2025 13:18:30 -0700 Subject: [PATCH 1/2] Docs: add documentation for WordPress.Security.EscapeOutput --- .../Docs/Security/EscapeOutputStandard.xml | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 WordPress/Docs/Security/EscapeOutputStandard.xml diff --git a/WordPress/Docs/Security/EscapeOutputStandard.xml b/WordPress/Docs/Security/EscapeOutputStandard.xml new file mode 100644 index 0000000000..1c82655893 --- /dev/null +++ b/WordPress/Docs/Security/EscapeOutputStandard.xml @@ -0,0 +1,37 @@ + + + + + + + + $name; // ❌ Unescaped user input + ]]> + esc_html( $name ); // ✅ Safe output + ]]> + + + + $name ); // ❌ Dangerous + ]]> + esc_html( $name ) ); // ✅ Escaped + ]]> + + From 78b67f713aa579e2d51baf152ea5eb796bd58425 Mon Sep 17 00:00:00 2001 From: Brent Wilson Date: Tue, 26 Aug 2025 13:43:24 -0700 Subject: [PATCH 2/2] Docs: reformat EscapeOutputStandard.xml to match docs style --- .../Docs/Security/EscapeOutputStandard.xml | 47 +++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/WordPress/Docs/Security/EscapeOutputStandard.xml b/WordPress/Docs/Security/EscapeOutputStandard.xml index 1c82655893..ffb0cb5a65 100644 --- a/WordPress/Docs/Security/EscapeOutputStandard.xml +++ b/WordPress/Docs/Security/EscapeOutputStandard.xml @@ -1,37 +1,46 @@ - + This sniff checks that any dynamic data sent to the browser + is escaped using a WordPress escaping function, such as + esc_html(), esc_attr(), or wp_kses_post(). Escaping prevents + cross-site scripting (XSS) vulnerabilities and ensures + output is safe. + ]]> - + $name; // ❌ Unescaped user input - ]]> - $name; + ]]> + + + esc_html( $name ); // ✅ Safe output - ]]> +echo esc_html( $name ); + ]]> + - + $name ); // ❌ Dangerous - ]]> - $name ); + ]]> + + + esc_html( $name ) ); // ✅ Escaped - ]]> +printf( 'Hello %s', esc_html( $name ) ); + ]]> +