WordPress.Security.NonceVerification.Missing

Missing nonce verification

A request handler uses request data without verifying that the request was intentionally created by WordPress.

critical weight

Why It Shows Up

The scan found `$_GET`, `$_POST`, or similar request data in a context where a nonce check is expected but missing.

Why It Matters

Without nonce verification, an attacker may be able to trick a logged-in user into submitting an unwanted state-changing request.

How to Fix

  • Add a nonce to the form, link, AJAX request, or REST request.
  • Verify it with `check_admin_referer()`, `check_ajax_referer()`, or `wp_verify_nonce()` before changing state.
  • Keep capability checks separate; nonces prove intent, not permission.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsUpdatedTop Issue
#2151JetWidgets For Elementor559927410k+Non Prefixed Variable Found
#2152Landingi Landing Pages5518232k+Input Not Sanitized
#2153LoginPress | wp-login Custom Login Page Customizer55124301200k+Non Prefixed Function Found
#2154Popup Maker – Responsive popup, Exit Intent Pop up, Email Optins, Autoresponder & More5544647k+Text Domain Mismatch
#2155VS Contact Form5533187k+Non Prefixed Variable Found
#2156VK Block Patterns55861100k+Non Prefixed Function Found
#2157WP Ultimate Review552338170k+Non Prefixed Variable Found
#2158Advanced Floating Content Lite5688497k+Text Domain Mismatch
#2159Jquery Validation For Contact Form 75618199k+missing direct file access protection
#2160Kwayy HTML Sitemap5613196k+Missing
#2161LearnPress – Course Wishlist56352220k+Output Not Escaped
#2162MAS Brands for WooCommerce56801510k+Text Domain Mismatch
#2163Seed Social563676k+Output Not Escaped
#2164Export & Import WPBakery Page Builder5612209k+Missing
#2165Cache-Control572641k+Output Not Escaped
#2166Hide Admin Notices5791620k+Input Not Sanitized
#2167Public Post Preview57811100k+Recommended
#2168Remove admin menus by role575548k+Input Not Validated
#2169Search Exclude57734050k+Text Domain Mismatch
#2170Timologia for WooCommerce5775223k+Text Domain Mismatch
#2171WPC Product Quantity for WooCommerce5714482k+Non Prefixed Variable Found
#2172Basic User Avatars5817720k+Output Not Escaped
#2173Error Log Viewer by BestWebSoft584331726k+Text Domain Mismatch
#2174Houzez WooCommerce Addon5822214k+Missing Translators Comment
#2175SportsPress for Basketball58104341k+Text Domain Mismatch
#2176SportsPress for Football (Soccer)58107346k+Text Domain Mismatch
#2177Business Reviews – Display Customer Reviews from Popular Sites5910311k+Non Prefixed Class Found
#2178Disabled Source, Disabled Right Click and Content Protection5963310k+Recommended
#2179File Upload For WPForms – Filenzo598161k+Output Not Escaped
#2180GDPR Data Request Form5922196k+missing direct file access protection
#2181Getty Images5911462k+Missing
#2182HTTP Headers59204350k+Recommended
#2183JetSticky For Elementor59133830k+Recommended
#2184Lazy Loader596249k+Recommended
#2185Side Menu Lite – Sticky Floating Side Menu5991237k+Non Prefixed Variable Found
#2186Payment Gateway for LiqPay for Woocommerce5984311k+Text Domain Mismatch
#2187GST Invoice for WooCommerce5910421k+Missing
#2188RevivePress – Keep your Old Content Evergreen5927465k+date date
#2189WPML Widgets59999k+Unsafe Printing Function
#2190Contact Form 7 – Phone mask field6021720k+Unsafe Printing Function
#2191Contact Form 7 Modules6047155k+Text Domain Mismatch
#2192Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO60581k+Missing Unslash
#2193Freshchat6016101k+Output Not Escaped
#2194MultiStep Checkout for WooCommerce6046574k+Non Singular String Literal Text
#2195WoowGallery60151781k+Non Prefixed Variable Found
#2196WPB Popup for Contact Form 7 – Showing Contact Form 7 Popup on Button Click602196k+Output Not Escaped
#2197Disable Right Click For WP61151210k+Missing
#2198Multiple Post Passwords6113152k+Output Not Escaped
#2199Qikink Print On Demand and DropShipping6114231k+Input Not Validated
#2200SHK Hide Title611943k+Output Not Escaped