Skip to content
WordPress.org

བོད་ཡིག

  • དཔེ་སྒྲོམ།
  • མཐུད་སྣེ།
  • News
  • ངེད་ཀྱི་སྐོར།
  • ཚོགས་པ།
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Block Logins with Cloudflare

  • Submit a plugin
  • My favorites
  • Log in
  • Submit a plugin
  • My favorites
  • Log in

Block Logins with Cloudflare

རྩོམ་པ་པོ། supersoju
ཕབ་ལེན།
  • ཞིབ་ཕྲ།
  • གདེང་འཇོག
  • སྒྲིག་འཇུག
  • ཡར་རྒྱས།
རམ་འདེགས།

ཞིབ་བརྗོད།

Block Logins with Cloudflare helps protect your WordPress site from brute-force attacks by blocking IPs at the Cloudflare firewall after a configurable number of failed login attempts.

  • Block IPs via Cloudflare after X failed login attempts
  • Block IPs that generate excessive 404 responses (bots and scanners)
  • Block IPs attacking via XML-RPC with intelligent detection
  • Automatic unblocking after a configurable duration
  • Whitelist IPs to never block or track them (supports IPv6 CIDR ranges)
  • View and manually unblock blocked IPs from the admin
  • Block source tracking — see whether each IP was blocked via login, XML-RPC, or 404
  • Sync existing Cloudflare blocks into the local blocked IPs list
  • Secure settings page with Cloudflare API token validation
  • Hourly cron job for automatic maintenance

External Services

This plugin relies on the Cloudflare API to function. It communicates with Cloudflare’s external servers to block IP addresses at the firewall level.

What is the Cloudflare API and what is it used for?
The Cloudflare API is a RESTful service provided by Cloudflare, Inc. that allows programmatic management of Cloudflare firewall rules. This plugin uses it to automatically block and unblock IP addresses based on failed login attempts, XML-RPC attacks, and 404 scanning activity.

What data is sent and when?
The plugin sends the following data to Cloudflare’s API servers:

  1. During settings validation (when you save Cloudflare credentials):

    • Your Cloudflare API token (for verification)
    • Endpoint: https://api.cloudflare.com/client/v4/user/tokens/verify
  2. When blocking an IP (after a threshold is reached):

    • The IP address to be blocked
    • Your Cloudflare email address and API key/token
    • Your Cloudflare Zone ID
    • A note describing the reason for the block
    • Endpoint: https://api.cloudflare.com/client/v4/zones/{zone_id}/firewall/access_rules/rules
  3. When syncing from Cloudflare (on demand):

    • Fetches existing firewall rules from your Cloudflare zone
    • Endpoint: https://api.cloudflare.com/client/v4/zones/{zone_id}/firewall/access_rules/rules

No personally identifiable information about your WordPress users is transmitted. Only IP addresses are sent to Cloudflare.

Service provider information:
– Service: Cloudflare API
– Provider: Cloudflare, Inc.
– Terms of Service: https://www.cloudflare.com/terms/
– Privacy Policy: https://www.cloudflare.com/privacypolicy/
– API Documentation: https://developers.cloudflare.com/api/

Required for functionality:
This plugin requires a Cloudflare account and will not function without valid Cloudflare API credentials. The external API calls are essential to the plugin’s core functionality.

License

GNU General Public License v2 or later

སྒྲིག་འཇུག

  1. Upload the plugin files to the /wp-content/plugins/block-logins-cf directory, or install through the WordPress plugins screen.
  2. Activate the plugin through the ‘Plugins’ screen.
  3. Go to Block Logins CF in the admin sidebar to configure your Cloudflare credentials and settings.

FAQ

What permissions does my Cloudflare API token need?

Your token needs Zone.Zone and Zone.Firewall permissions for the relevant zone.

Where do I find my Cloudflare Zone ID?

In your Cloudflare dashboard, select your domain and look for the Zone ID in the Overview tab.

Does this block at the Cloudflare level or just WordPress?

This plugin blocks IPs at the Cloudflare firewall, stopping attacks before they reach your server.

What does 404 blocking protect against?

It detects bots and vulnerability scanners that probe your site by requesting many non-existent URLs. When an IP exceeds the configurable 404 threshold, it is blocked via Cloudflare just like a brute-force login attacker.

Can I sync blocks I already have in Cloudflare?

Yes. Use the “Sync from Cloudflare” button on the Blocked IPs page to import existing Cloudflare firewall rules into the plugin’s local list.

གདེང་འཇོག

There are no reviews for this plugin.

བྱས་རྗེས་འཇོག་མཁན། & གསར་འབྱེད་པ།

“Block Logins with Cloudflare” is open source software. The following people have contributed to this plugin.

བྱས་རྗེས་འཇོག་མཁན།
  • supersoju

ཁྱེད་ཀྱི་སྐད་ཡིག་ནང་ལ་ “Block Logins with Cloudflare” ཡིག་སྒྱུར་བྱོས།

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

དག་བཅོས་ཉིན་ཐོ།

1.1

  • Added 404-based IP blocking to detect and block bots and vulnerability scanners
  • Added XML-RPC protection with intelligent attack detection
  • Added block source tracking — blocked IPs now show whether they were blocked via login, XML-RPC, or 404
  • Added 404 activity log in the Blocked IPs admin page
  • Added “Sync from Cloudflare” to import existing Cloudflare firewall rules into the local list
  • Added IPv6 CIDR range support in the IP whitelist
  • Added caching for Cloudflare API token validation to prevent throttling

1.0

  • Initial release

ཟུར་བརྗོད།

  • Version 1.1
  • Last updated གཟའ་འཁོར 1 སྔོན།
  • Active installations ཐེངས་ 10 ལས་ཉུང་བ།
  • WordPress version 6.0 ཡང་ན་དེ་ལས་མཐོ་བ།
  • Tested up to 7.0
  • PHP version 7.4 ཡང་ན་དེ་ལས་མཐོ་བ།
  • Language
    English (US)
  • Tags
    Brute Forcecloudflarefirewallloginsecurity
  • མཐོ་རིམ་མཐོང་སྣང་།

གདེང་འཇོག

No reviews have been submitted yet.

ངའི་མཆན་ཁ་སྣོན།

See all reviews

བྱས་རྗེས་འཇོག་མཁན།

  • supersoju

རམ་འདེགས།

Got something to say? Need help?

རམ་འདེགས་གླེང་སྟེགས་ལ་ལྟ།

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Support
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

བོད་ཡིག

  • Visit our X (formerly Twitter) account
  • Visit our Bluesky account
  • Visit our Mastodon account
  • Visit our Threads account
  • Visit our Facebook page
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our TikTok account
  • Visit our YouTube channel
  • Visit our Tumblr account
ཚབ་ཨང་ནི་སྙན་ངག་གོ།
The WordPress® trademark is the intellectual property of the WordPress Foundation.