Linux 软件免费装
Banner图

Checkout Guard – Block Fake Orders, Spam & Fraud for WooCommerce

开发者 giannis4
thewpgarden
更新时间 2026年10月28日 02:06
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

checkout anti-spam disposable email fraud prevention fake orders

下载

2.1.0 2.1.1 1.0.1 1.0.2 1.0.3 1.0.4 1.0.0 1.2.0 1.1.0

详情介绍:

Stop fake and unwanted WooCommerce orders before they happen. Checkout Guard is a WooCommerce fraud prevention plugin that blocks spam orders and suspicious checkouts using simple rules you control, with no external fraud service, no scoring engine, and no monthly fee. Often you already know what you want to block: a throwaway email domain, a repeat offender's IP, a country you don't ship to. Checkout Guard puts those controls directly in your WooCommerce checkout. Included in the free plugin: the 22,000-domain disposable-email list, the junk-name check, the mail deliverability check, phone and country blocking, and a checkout attempt limit against card testing. Some WooCommerce fraud plugins sell these as premium features. Requires: WooCommerce. Works with: the classic checkout, the WooCommerce Checkout block, most express payment buttons, and HPOS. 🛡️ Block throwaway email services Switch on one setting and Checkout Guard rejects checkouts from around 22,000 known disposable-email domains: Mailinator, Guerrilla Mail, YOPmail, Temp-Mail and thousands more. The list ships with the plugin, so it works the moment you enable it, with no signup and no API key. 🛡️ Block by email address, domain or pattern Block individual addresses or whole domains, with wildcard support: Catch-all entries such as * or *@* would block every order on your store, so they are rejected when you save. 🛡️ Reject junk names Catches checkouts where the name is obviously not a name: test, asdf, qwerty, John Doe and similar. Matching is exact and whole-field, so a customer called Testa or Contestabile is never affected by the entry test. You can read the full list on the settings screen before switching the rule on. 🛡️ Block by phone number Block numbers you have seen on fraudulent orders, in whatever format the customer types them: Optionally reject numbers that are obviously not real, such as 0000000000 or 123456789. Billing phone is optional in WooCommerce, so a customer who leaves it empty is never blocked by this rule. 🛡️ Check that the email can actually receive mail Optionally look up the address's domain during checkout and turn the order away if it cannot receive mail at all. If the lookup itself fails, the order goes through, so a DNS problem never costs you a sale. 🛡️ Block by IP address Block individual IPv4 or IPv6 addresses, or cover a whole range with a wildcard or CIDR notation: Ranges wider than /8 (IPv4) or /16 (IPv6) are not saved, so one line can never block everyone. Useful when you identify a recurring source of unwanted checkout attempts. If your store sits behind Cloudflare or another proxy, Checkout Guard reads the forwarded visitor IP rather than the edge server's. 🛡️ Restrict billing countries Block checkout for billing countries you don't serve. This is a blocklist: you name the countries to turn away, not the ones to allow. 🛡️ Restrict order totals Set a minimum, a maximum, or both, and stop checkouts falling outside the range. Useful against waves of suspicious low-value orders, or unusually large ones worth reviewing by hand. 🛡️ Stop card testing with an attempt limit Card testers run stolen card numbers through your checkout one after another. Checkout Guard counts checkout attempts and turns a source away once it goes over the limit: by default 10 attempts from one IP address in 10 minutes, or 5 from one email address in an hour. Both limits are adjustable, and shop managers are never limited. The limit is on for new installs. On an existing store you are asked once whether to switch it on, because a shared office or mobile network can put many real customers behind one IP address. ⭐ Try it before it blocks anyone Set Protection Mode to Learning and Checkout Guard records what each rule would have caught without turning a single customer away. Check the results, adjust your rules, then switch to Enforce when you are happy. Nothing is blocked until you say so. 📋 See what was blocked Turn on recording, and the Blocked attempts tab lists every checkout a rule matched: when, which rules, which checkout, the email, the IP, and the cart total. A summary shows how many were stopped in the last 7 and 30 days and which rule fires most often. Records are pruned automatically so the table never grows without limit. 🛒 Works with WooCommerce checkout and express payments Checkout Guard enforces on the classic WooCommerce checkout, the WooCommerce Checkout block, and express checkouts. Wallet buttons placed on a product or cart page skip the checkout form entirely, so they are an easy route for a blocked customer to slip through. Checkout Guard checks the ones that create their order through WooCommerce, Apple Pay included. One known exception is described in the FAQ. It also declares compatibility with High-Performance Order Storage (HPOS). ⚡ Designed to stay out of the way Checks run during checkout validation, not on normal browsing, so regular customers shop at normal speed. The bundled domain list is only loaded into memory when you actually enable it. ⭐ Checkout Guard Premium Security Everything above is free and stays free. Premium Security adds tools for stores that are already dealing with fraud: Premium Security comes with a 7-day free trial, no card required. 💻 Developer hooks, filters and actions Rules live in a filterable registry, so developers can add custom rules, change the bundled lists, or adjust matching through filters and actions. If you need a hook that is not there yet, ask in the support forum. Documentation and support 📖 Documentation: setup and a guide for every rule, from blocking emails and domains to order total limits and the developer hooks. 🛟 Support forum: questions and bug reports. We answer every topic. ✉️ Contact us: anything that is not a support question. Like it? A 5-star review is the most useful thing you can do for a small plugin. It takes a minute and helps other store owners find it. More from The WP Garden Checkout Guard is made and maintained by The WP Garden, small focused plugins for WooCommerce, BuddyPress and WordPress.

安装:

  1. In your WordPress admin, go to Plugins > Add New Plugin, search for "Checkout Guard", then click Install Now and Activate.
  2. WooCommerce must be installed and active.
  3. Go to WooCommerce > Checkout Guard, set Protection Mode to Learning, and switch on the rules you want. Move to Enforce once the Blocked attempts tab shows they catch only what you expect.
The setup and requirements guide walks through the same steps in detail.

屏幕截图:

  • The email rule opened: blocked addresses and domains, the bundled list of throwaway services, and the mail check.
  • Country and IP rules. Blocked countries are chips you can see at a glance, with search to add more.
  • Order total and attempt limits, written as sentences in your store's currency.
  • Blocked attempts, with a summary of what each rule has caught.

升级注意事项:

2.1.1 Shop managers can open the settings screen. An IP blocklist entry of *.*.*.* no longer blocks every checkout, and 192.168.*.1 now covers only addresses ending in .1. Premium Security: a switched-off payment method keeps its Hide tick. 2.1.0 IP ranges in CIDR form for IPv4 and IPv6, and IPv6 addresses that match in any notation. 2.0.0 Major update: a redesigned settings screen, phone blocking, and a checkout attempt limit against card testing that stays off on existing stores until you switch it on from the notice after updating. Adds an optional Premium Security plan; the Freemius opt-in it asks for can be skipped. 1.2.0 The Checkout block is now enforced. Checkout Guard was doing nothing there before and will start blocking orders that match your rules. Set Protection Mode to Learning first to preview. Blocked-attempt records are now kept 90 days rather than forever, and pruned even when recording is off. 1.1.0 Check your email blocklist after updating. Wildcard entries such as *@gmail.com were accepted by earlier versions but never actually blocked anything. They now work, so any wildcard already sitting in your list will start blocking customers as soon as you update.

常见问题:

Will this block real customers by mistake?

Set Protection Mode to Learning first. Every rule runs and records what it would have caught, but nothing is blocked and no customer is turned away. When the results look right, switch to Enforce.

Which disposable email domains are blocked?

Around 22,000, bundled with the plugin and based on the public disposable email domains list. The settings screen links to the source so you can check any domain. It is a copy taken when the plugin was released, so it will not match the source exactly.

Are forwarding services like Firefox Relay blocked?

No. Firefox Relay, Apple Hide My Email and Addy deliver to a real permanent inbox, so blocking them would reject a paying customer. They are excluded from the bundled list.

Will the junk-name rule block someone whose surname is Test?

No. Matching is exact and whole-field, never a substring, so test blocks a customer who types "Test" as their whole name but never affects Testa, Contestabile or Testani. The full list is shown on the settings screen so you can check it before switching the rule on.

How do I block an entire domain instead of just one email?

Enter *@bad-domain.com on its own line in the email blocklist. That blocks every billing email at that domain, and nothing else. You can also enter the bare domain, bad-domain.com. The difference is precision: a bare domain matches anywhere in the address, so it will also catch someone@notbad-domain.com. The *@ form matches the domain exactly. Prefer the wildcard unless you specifically want the looser match.

How do I block a domain and all its subdomains?

Enter two lines: *@bad-domain.com for the domain itself and *@*.bad-domain.com for every subdomain under it, such as mail.bad-domain.com or x.y.bad-domain.com. Neither line touches notbad-domain.com.

What wildcard patterns can I use in the email blocklist?

The * wildcard stands for any run of characters, and the pattern must match the whole address:

Catch-all entries such as * or *@* would block every order on your store, so they are rejected and removed when you save.

Does the IP address block support wildcards and ranges?

Yes. 203.0.113.* covers that whole IPv4 range. Each * stands for one whole number, so 192.168.*.1 covers 192.168.7.1 but not 192.168.7.2, and the first number must be written out. For IPv6, or for ranges that do not end on a dot, use CIDR notation: 203.0.113.0/24, 198.51.100.128/25, 2001:db8::/32. IPv6 addresses match however they are written, so 2001:db8::1 also blocks 2001:0db8:0:0:0:0:0:1.

Does it work behind Cloudflare?

Yes. Checkout Guard reads forwarded proxy headers by default, so IP rules match the real visitor rather than the CDN edge. If your store is not behind a proxy you can switch that off in Store setup.

Can I only allow certain countries instead of blocking?

Not currently. The country rule is a blocklist: you list the countries to turn away.

Does it work with the Checkout block?

Yes. The classic checkout, the WooCommerce Checkout block and express checkouts are all enforced, with one known exception noted below, and the plugin declares HPOS compatibility.

Are Apple Pay, Google Pay and PayPal buttons checked?

Apple Pay is, including on product and cart pages. The WooCommerce PayPal Payments gateway sends it through WooCommerce's own checkout, so every rule runs and a blocked attempt is stopped before the order is created. Express buttons in general are checked whenever the gateway creates its order through WooCommerce. WooPayments is covered in full: its Apple Pay, Google Pay, Link and WooPay buttons all place the order the same way the Checkout block does, so every rule runs wherever you put the button. A blocked attempt leaves nothing in your orders list. There is one known exception. WooCommerce PayPal Payments has a setting called "Pay Now Experience", which lets customers skip the Order Review page and is switched on for new merchants during its setup. With it on, the PayPal button on a product or cart page builds the order itself without going through WooCommerce's checkout, and Checkout Guard does not see those orders. Support for them is planned. In the meantime, switching "Pay Now Experience" off in the PayPal settings sends those customers through the checkout page instead, where every rule runs. Apple Pay is unaffected either way.

Will this plugin slow down my store frontend?

No. Checks run during checkout validation, not on normal browsing, so browsing speed is unaffected. The bundled disposable-domain list is only loaded when you enable it, and the optional deliverability lookup is the only rule that touches the network.

Does it stop card testing?

The free attempt limit turns away a source that tries checkout too many times in a short window, which is how card testing looks from the store. Checkout Guard Premium Security also reacts to declined payments, the clearest sign of card testing, and can close checkout for an hour during an attack.

Does it store customer data?

Only if you switch recording on, and it is off by default. When enabled, each blocked attempt (and, in Learning mode, each attempt that would have been blocked) stores the billing email, IP address, first and last name, country, postcode and phone number, the cart total and product IDs, the customer's account if they were logged in, and which rules matched. Repeat attempts from the same source within 10 minutes are kept as one record with a count. Records are deleted automatically after the retention period you choose, 90 days by default. Deleting the plugin from the Plugins screen always removes its tables, including every record of blocked checkouts. Your settings are kept, so a reinstall picks up your rules, unless you switch on Delete settings on uninstall in Store setup. The attempt limit keeps short-lived counters so it can count attempts. They are stored as hashes rather than readable email or IP addresses, and are cleared out daily once their time window has passed. In Premium Security, a shopper blocked for declined payments is listed by IP or email address on the Blocked attempts tab until the block expires, so you can see and lift it.

Does it send data anywhere?

Checkout itself never calls an outside service, with one exception you switch on yourself: the mail deliverability check looks up the email domain in DNS. Licensing and the Premium Security trial run on Freemius. When you activate the plugin, it asks whether you want to share basic diagnostic information with Freemius, such as your site address, WordPress and PHP versions, and the admin email address, to receive security and feature updates. Skip it and nothing is sent. You can change your mind later from the Plugins screen.

Where is the documentation?

At thewpgarden.com/docs/checkout-guard: setup, plus a guide for each rule.

How do I get support?

Open a topic in the WordPress.org support forum. For anything else, contact us.

Can I translate Checkout Guard?

Yes. You can translate Checkout Guard into your language on translate.wordpress.org.

更新日志:

2.1.1 2.1.0 2.0.0 1.2.0 1.1.0 1.0.4 1.0.3 1.0.2 1.0.1 1.0.0