release: 2.2.2 — Plugin Check compliance + security hardening#36
Merged
Conversation
Ships the WordPress Plugin Check compliance fixes (incl. the PHP 7.4 fatal in good-bot verification) to all channels and keeps the .org submission version coherent. Requires WordPress 6.1+, tested up to 7.0.
…once/SQL justifications) Address all WordPress Plugin Check security warnings flagged for manual review: - MissingUnslash / InputNotSanitized: wrap every flagged superglobal read in wp_unslash() + a type-appropriate sanitizer (sanitize_text_field/intval). - NonceVerification: read-only contexts (honeypot signal, register-page detection, admin list GET filters) now unslash+sanitize and carry a justified phpcs:ignore explaining no state change occurs. - InterpolatedNotPrepared (statistics-page, violation-reporter): only the $wpdb->prefix table name is interpolated; all values already use $wpdb->prepare() placeholders. Added justified phpcs:ignore. No user input reaches SQL. - InputNotValidated (blocked-ips-page): justified phpcs:ignore for an isset presence check already guarded by nonce + capability and validated below. - SDK (BotDetector, SignalCollector): keep the framework-agnostic WP-guarded form (wp_unslash+sanitize in WP, trim standalone) and extend the portability phpcs:ignore to cover MissingUnslash on the unavoidable standalone read. No behavior change; 41/41 tests pass; php -l clean on all touched files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cuts 2.2.2, which ships the WordPress Plugin Check fixes to all channels and hardens the plugin for WordPress.org submission.
In this release
.orgbuild).wp_unslash()+ sanitized; read-only superglobal reads carry justified nonce ignores; all SQL values use$wpdb->prepare()(confirmed no user input reaches SQL — the only interpolations are$wpdb->prefixtable names). Cleared 42 input/nonce/SQL Plugin Check warnings.str_ends_with) and the rest of the 2.2.1 compliance work.Remaining warnings (non-blocking, accepted)
333 warnings remain, all standard accepted categories: trusted
$wpdb->prefixtable-name interpolation (53), non-prefixed template variables (~140), and direct custom-table queries with caching notes (~138). None are documented rejection reasons.php tests/run.php→ 41 passed. Both builds verified (CDN includes updater+clearance;--orgstrips them).