WordPress.Security.NonceVerification.Recommended
Nonce verification recommended
The code reads request data in a place where Plugin Check recommends a nonce check.
Why It Shows Up
The scan saw request handling that may not always mutate state, but still looks like a user-triggered action that should usually be protected by a nonce.
Why It Matters
Adding a nonce reduces accidental or forged requests and documents that the action is expected to originate from the plugin UI.
How to Fix
- For admin forms and action links, add and verify a nonce.
- For AJAX handlers, use `check_ajax_referer()`.
- For public read-only endpoints, document why a nonce is not required and keep input validation strict.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #4301 | Waymark | 72 | 16 | 32 | 900 | Missing direct file access protection | ||
| #4302 | Place Order Without Payment for WooCommerce | 72 | 244 | 62 | 3k+ | Text Domain Mismatch | ||
| #4303 | Webyx for Gutenberg – Fullpage Fullscreen Scrolling Websites | 72 | 14 | 11 | 700 | Output is not escaped | ||
| #4304 | Customizer for WooCommerce | 72 | 10 | 13 | 800 | Nonce verification recommended | ||
| #4305 | Direct Checkout for WooCommerce | 72 | 77 | 35 | 80k+ | Text Domain Mismatch | ||
| #4306 | Bestfreebie Elementor Icons | 73 | 27 | 13 | 400 | Text Domain Mismatch | ||
| #4307 | Connect Polylang for Elementor | 73 | 1 | 21 | 100k+ | Nonce verification recommended | ||
| #4308 | Contact Form to Brevo | 73 | 67 | 11 | 1k+ | Text Domain Mismatch | ||
| #4309 | Custom Datepicker NMR | 73 | 4 | 12 | 1k+ | Missing Version | ||
| #4310 | OpenID Connect Generic Client | 73 | 9 | 59 | 10k+ | Non-prefixed hook name | ||
| #4311 | EXMAGE – WordPress Image Links | 73 | 14 | 34 | 7k+ | Missing Arg Domain | ||
| #4312 | International Phone Number Format | 73 | 51 | 20 | 400 | Text Domain Mismatch | ||
| #4313 | NETOPIA Payments Payment Gateway | 73 | 3 | 31 | 10k+ | Missing nonce verification | ||
| #4314 | Weight zone shipping for WooCommerce | 73 | 25 | 13 | 1k+ | Missing Translators Comment | ||
| #4315 | Osom Modal Login | 73 | 40 | 12 | 400 | Text Domain Mismatch | ||
| #4316 | PDF viewer for Elementor & Gutenberg | 73 | 14 | 12 | 10k+ | Nonce verification recommended | ||
| #4317 | Pedido Mínimo para WooCommerce | 73 | 8 | 14 | 1k+ | Nonce verification recommended | ||
| #4318 | WEN Skill Charts | 73 | 23 | 600 | Request data is not unslashed | |||
| #4319 | WC Order Test | 73 | 8 | 9 | 6k+ | Output is not escaped | ||
| #4320 | Advanced Custom Fields: Archive Templates | 74 | 11 | 7 | 800 | Output is not escaped | ||
| #4321 | ACF Columns | 74 | 47 | 4 | 4k+ | Text Domain Mismatch | ||
| #4322 | Admin Columns for ACF Fields | 74 | 7 | 8 | 9k+ | Output is not escaped | ||
| #4323 | Buy Now Button for WooCommerce | 74 | 9 | 11 | 2k+ | Nonce verification recommended | ||
| #4324 | Cálculo do frete somente com o CEP – WC Brasil | 74 | 13 | 24 | 1k+ | Non-prefixed function | ||
| #4325 | Disable cart page for WooCommerce | 74 | 2 | 8 | 6k+ | Input is not sanitized | ||
| #4326 | Duplicate Taxonomy Term | 74 | 9 | 5 | 2k+ | Nonce verification recommended | ||
| #4327 | ELEX WooCommerce USPS Shipping Method | 74 | 139 | 45 | 900 | Text Domain Mismatch | ||
| #4328 | Contact Form 7 Email Validation | 74 | 8 | 10 | 1k+ | Input is not validated | ||
| #4329 | EmailKit – Email Customizer for WooCommerce & WP | 74 | 17 | 82 | 70k+ | slow db query meta query | ||
| #4330 | Formidable Honeypot | 74 | 10 | 6 | 400 | Text Domain Mismatch | ||
| #4331 | Free Shipping Label and Progress Bar for WooCommerce | 74 | 60 | 5k+ | Non-prefixed hook name | |||
| #4332 | RD Station | 74 | 65 | 20k+ | Non-prefixed global variable | |||
| #4333 | Elements For Elementor | 74 | 39 | 37 | 10k+ | Non-prefixed global variable | ||
| #4334 | Image Gallery | 74 | 8 | 11 | 4k+ | Nonce verification recommended | ||
| #4335 | Post Grid Addon for Elementor | 74 | 16 | 13 | 10k+ | Missing direct file access protection | ||
| #4336 | Post My CF7 Form | 74 | 21 | 168 | 2k+ | Non-prefixed global variable | ||
| #4337 | Product Layouts for WooCommerce | 74 | 5 | 75 | 1k+ | Direct Query | ||
| #4338 | WP All Import – Property Import for RealHomes | 74 | 17 | 12 | 700 | Output is not escaped | ||
| #4339 | Simple Scroll To Top WP | 74 | 24 | 5 | 1k+ | Output is not escaped | ||
| #4340 | Change Storefront Footer Copyright Text | 74 | 71 | 21 | 4k+ | Text Domain Mismatch | ||
| #4341 | WhatConverts | 74 | 10 | 10 | 7k+ | Non-prefixed function | ||
| #4342 | WP Cron HTTP Auth | 74 | 12 | 7 | 1k+ | Output is not escaped | ||
| #4343 | WP Revisions Limit | 74 | 16 | 14 | 800 | Missing Arg Domain | ||
| #4344 | WP Term Colors | 74 | 3 | 13 | 700 | Nonce verification recommended | ||
| #4345 | Zion Builder – Website Builder for Speed & Creativity | 74 | 4 | 29 | 1k+ | Non-prefixed hook name | ||
| #4346 | Beacon Lead Magnets and Lead Capture | 75 | 8 | 25 | 500 | Nonce verification recommended | ||
| #4347 | Easy Accordion – AI-Powered FAQ & Accordion Blocks, Product FAQ | 75 | 307 | 70k+ | Non-prefixed global variable | |||
| #4348 | Eventin Addons for Divi Builder | 75 | 6 | 17 | 800 | Nonce verification recommended | ||
| #4349 | FlowForms – Conversational Form Builder | 75 | 17 | 400 | Nonce verification recommended | |||
| #4350 | FluentPlayer – Video Player With Forms & Lead Capture | 75 | 10 | 40 | 1k+ | Database parameter is not escaped |