WordPress plugin intelligence profile

Pinny’s REST Lock – Block REST User Enumeration

Prevents public access to REST API user endpoints while allowing authorized roles.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version1.1.0
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 5.0 · PHP 7.0
Directory statusactive
Last directory update8 Oct 202624d ago
Active installations40Adoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Pinny’s REST Lock – Block REST User Enumeration version 1.1.0 as active, updated 24d ago and tested up to WordPress 7.1.

Overview

About this plugin

Blocks public REST API user enumeration while preserving full WordPress functionality.

Pinny’s REST Lock is an ultra-lightweight security plugin that locks down WordPress REST API user endpoints without breaking your site.

It is designed to fix one of the most common and overlooked WordPress security issues — public user enumeration via the REST API — using the correct, core-aligned approach.

🚨 Why This Plugin Is Necessary

By default, WordPress publicly exposes REST API endpoints such as:

/wp-json/wp/v2/users

On public sites, these endpoints can be accessed without authentication and are routinely used as the first step in real-world attacks.

This is where attackers start.

Public access to REST user endpoints allows attackers to:

  • Enumerate valid usernames
  • Identify administrator and privileged accounts
  • Eliminate guesswork before brute-force attacks
  • Chain enumeration with login abuse and password reset attacks

This is not theoretical. User enumeration is a baseline reconnaissance technique used by bots and human attackers alike.

Blocking public access to REST user endpoints should be considered required security hygiene for every WordPress site.

⚠️ Common REST Protection Pitfalls

Securing REST user endpoints requires precision. Broad or poorly timed restrictions often introduce serious side effects.

Common issues include:

  • Blocking all users, including administrators, which breaks authenticated workflows
  • Disabling the REST API entirely, causing the block editor, WooCommerce, and modern plugins to fail
  • Applying restrictions before authentication, preventing WordPress from distinguishing public and authorized requests
  • Allowing low-privilege roles, such as subscribers, to retain access — leaving user enumeration possible

Effective protection must be narrowly scoped, permission-aware, and aligned with WordPress core behavior.

✅ How Pinny’s REST Lock Works

Pinny’s REST Lock takes a surgical, WordPress-native approach:

  • Targets only REST API user endpoints
  • Runs after WordPress authentication
  • Allows access only to users with appropriate permissions
  • Returns a proper 403 Forbidden response to unauthorized requests

What this means:

  • Administrators continue to work normally
  • The REST API remains fully functional
  • Gutenberg, WooCommerce, and REST-based plugins are unaffected
  • Only public user enumeration is blocked

This follows WordPress core’s intended permission model.

🚀 Ultra-Lightweight by Design

Pinny’s REST Lock is intentionally minimal:

  • ~1.3 KB uncompressed
  • Single-file plugin
  • No settings page
  • No database tables
  • No logs
  • No tracking
  • No ads
  • No performance impact

It activates, applies the protection, and gets out of the way.

🛡️ A Required Fix for Modern WordPress Sites

If your site is public, your REST user endpoints should not be.

Pinny’s REST Lock closes one of the most common entry points attackers look for — without breaking WordPress, without blocking admins, and without adding bloat.

Install it. Activate it. And remove an entire class of attacks from your site.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • no bloat
  • enumeration
  • rest
  • security
  • users
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 5.0 · PHP 7.0
Update activity8 Oct 202624d ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version1.0.01.1.0
WordPress compatibility7.17.1.3
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.