Skip to content

Conversation

@Ankita19Rathore
Copy link

What this PR does

This PR hardens the current_tab() method in the Health Check plugin.

Previously, the method returned the value of $_GET['tab'] directly when present.
This update makes the method more defensive by safely handling missing input and sanitizing user-controlled request data.


What was changed

Before

return ( isset( $_GET['tab'] ) ? $_GET['tab'] : 'site-status' );

After

if ( empty( $_GET['tab'] ) ) {
	return 'site-status';
}

return sanitize_key( wp_unslash( $_GET['tab'] ) );

Why this change is important

The tab parameter is derived from request data and may be user-controlled.
Sanitizing this input improves robustness, avoids unexpected values, and aligns the code with WordPress security and coding best practices.

This is a defensive hardening change; existing behavior remains unchanged for valid input.


Scope and safety of change

  • Change is limited to the current_tab() method

  • No UI or functional behavior changes

  • Fully backward-compatible

  • Low-risk improvement


Additional cleanup

Updated the class docblock to correctly reflect the Health_Check class name


Testing

Verified default behavior when no tab parameter is present

Verified valid tab values continue to work as expected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant