| 开发者 | lalokupfer |
|---|---|
| 更新时间 | 2026年10月31日 20:03 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
Carthound is built so that a real customer is not the price of stopping a bot. A returning customer (logged in, with a paid order at least 7 days old that was never refunded) is judged by their own tries only. Outside attack mode, a missing pass, a form sent too fast or a filled hidden field only add to a try's score. The settings start cautious, every refusal is in the log with its reason in plain words, and "Let this customer through" undoes it in one tap. A refused shopper sees a calm message with your shop's e-mail address.
Yes. Behind Cloudflare or Fastly, Carthound reads the visitor's address from the CDN's own header, but only when the request really comes from that CDN's published addresses (the lists ship inside the plugin and are never fetched). Behind your own load balancer, add its address in Settings and Carthound reads the visitor's address it passes on. Until then, the limits per address only write to the log, so real shoppers who share an address are never refused together.
Any payment method that runs through WooCommerce's checkout: the checkout, pay for order and Add payment method are guarded on the server whatever the method, and a declined payment is counted whenever the method tells WooCommerce the payment failed. The card fields' own doors of WooCommerce Stripe Payment Gateway, WooPayments, WooCommerce PayPal Payments and WooCommerce Square are guarded too, each read by name from that plugin's code, and each refusal answers in that plugin's own shape so the checkout never keeps spinning. Every release is tested with each of them installed beside it, and with WooCommerce Stripe Payment Gateway in Stripe's own test mode, where the test cards Stripe declines are counted until the tries are refused. Their Apple Pay, Google Pay and PayPal buttons pay through the same guarded doors.
They judge each payment once it reaches them. Carthound refuses the tries before they reach your payment company, guards doors it does not see, and cleans up the junk orders and e-mails an attack leaves on your shop. The two work together.
Yes — a small script (under 2 KB) from your own site, with nothing loaded from another site. It asks your own site for a pass and never reads the card fields, which stay in your payment plugin's own frame. It runs only on the checkout, pay for order and Add payment method pages, and on the cart and product pages when your payment plugin shows express buttons there. A checkout that arrives without the pass only adds to its score, except during attack mode, when it is refused and the shopper is asked to refresh the page — and never while real orders from an app or a custom checkout are arriving without one.
Yes. Each shopper's browser asks for a pass of its own, and the pass is never stored in a page, so a saved copy of a page never carries one. Every release is tested with WP Super Cache, W3 Total Cache, WP Fastest Cache and Cache Enabler switched on, and with a Redis object cache.
No. Everything Carthound keeps stays in your own site's database.
No. Your shoppers never see a puzzle.
The order goes through as if Carthound were not there, and the log says so. If its script cannot load or its table cannot be written, your checkout works as before.
Press Test my shield on the Shield tab. In about 10 seconds you see the practice tries and the one Carthound refuses, with the reason. No order is made and nothing is charged.
Card networks watch how many card-testing tries reach a shop's payment company. Visa's VAMP fact sheet (2025) says a merchant is counted as excessive for card testing at 20% or more of its card-not-present tries and at least 300,000 such tries in a month. These rules change, and your payment company decides what they mean for you, so ask it what applies to your shop. Carthound's log and its one-page summary show what it refused, for your records.
Yes. Every Carthound screen is made for a phone first and is tested on an iPhone, an iPad and a small Android phone, as well as on a desktop. The message a refused shopper sees is tested in Mobile Safari, Chrome on Android and the in-app browsers of social apps.
It needs WordPress 6.9, PHP 7.4 and WooCommerce 8.9 or newer. Every release is tested on WordPress 6.9 to 7.1, PHP 7.4 to 8.4 and the latest minor versions of WooCommerce (11.0 to 11.2 today), with WooCommerce's order tables on and off, on a single site and on a multisite, with block themes and classic themes.
Yes. Without WooCommerce, Carthound's screen says so and it changes nothing on your site.
Deactivating keeps your settings, lists and log. Deleting the plugin removes its tables, its settings and the marks it left on orders, on every site of a multisite. Your orders themselves are never deleted.
Not yet. Everything described here is free and stays free, with no limits. We are thinking about an optional paid service for later, where the shops that use it would warn each other about the addresses that try stolen cards. The "Get early access" link at the foot of the Shield screen lets you ask to be told if it is built. It is never shown as a notice, and nothing in this plugin is locked behind it.