Linux 软件免费装
Banner图

Fstyle Honeypot Bot Blocker

开发者 fstylegear09543
更新时间 2026年11月9日 11:06
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

honeypot security anti-spam firewall bot-blocker

下载

1.1 1.4.1 1.5.0 1.5.1 1.1.1 1.2.0 1.3.0 1.4.0

详情介绍:

Protect your website from unauthorized crawlers and malicious bots that ignore your site's robots.txt directives. Fstyle Honeypot Bot Blocker provides a lightweight yet powerful security layer by automatically detecting and blocking intruders. Once installed, it sets a hidden trap path in your robots.txt. If a bot attempts to access this forbidden area, its IP address is immediately captured and blocked from accessing your entire site. It also treats the paths that scanners probe first (.env, .git, credentials.json, phpinfo.php, wp-config.php backups, vendor/phpunit, phpMyAdmin) as traps. A normal WordPress site never serves these files, so the scanner is stopped on its first request, before it tries anything else. It can also protect Contact Form 7 forms with a hidden field and a fill-in timer (off by default). Nothing is sent to an outside service.

安装:

  1. Upload the fstyle-honeypot-bot-blocker folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the 'Plugins' menu in WordPress.
  3. Access settings via the "Fstyle Blocker" menu in your dashboard.

常见问题:

Will it block Google or Bing?

No. When a request hits a trap and says it is Googlebot or Bingbot, the plugin checks it with reverse and forward DNS (IPv4 and IPv6). A verified crawler gets a 404 instead of being blocked. Logged-in administrators are never blocked either.

I blocked myself or someone I trust. How do I undo it?

Blocks expire after 7 days (change this with the fstyle_honeypot_block_days filter). To unblock sooner, click "Unblock" in Recent Blocked Logs (only the latest 50 blocks are listed; older ones expire on their own), or add the address to the whitelist (one IP address or CIDR range per line). If you cannot reach the login screen, log in from another network, or rename the plugin folder in wp-content/plugins over FTP to turn the plugin off, log in, and unblock the address.

Does it work behind Cloudflare or another reverse proxy?

The plugin blocks the address in REMOTE_ADDR. Proxy headers such as X-Forwarded-For are not trusted, because anyone can send them. Behind Cloudflare, a load balancer or another reverse proxy, make sure your server puts the visitor's real address into REMOTE_ADDR (for example mod_remoteip on Apache or the real_ip module on nginx, set up for your proxy's IP ranges), or return it from the fstyle_honeypot_client_ip filter. Otherwise one bot could get the proxy, and every visitor behind it, blocked. The settings screen shows a warning when the site seems to be behind a proxy.

What is the trap path?

Each site gets its own random trap path (for example /private-k3x9q2m7wa/), shown on the settings screen and added to robots.txt as Disallow. Well-behaved crawlers never visit a disallowed path, so a client that requests it is ignoring robots.txt and is blocked. Because the name differs from site to site, bots cannot learn it once and skip it everywhere. The name used before 1.5.0, /super-secret-admin-area/, is still a trap. Your own trap paths (Trap Settings) are blocked when requested, but are not listed in robots.txt.

I have a robots.txt file on my server.

Then WordPress does not generate robots.txt, and the trap line is not added automatically. Add the Disallow line shown on the settings screen under User-agent: * in your file. The settings screen reminds you when a robots.txt file exists. Requests to the trap paths are blocked either way.

Can another site get my visitors blocked?

In most cases, no. If a page on another site makes a visitor's browser load a trap path (with an image, a script or a link), the browser says so in the Sec-Fetch-Site header, and the plugin answers 404 without blocking. Bots and scanners normally do not send this header, so they are still blocked. A trap word in the query string does not count either.

Does it see every request?

It checks the requests that reach WordPress. If your server already refuses .env or .git (for example with a deny rule), or a cache in front of WordPress answers the request, the plugin does not see it.

Does it protect Contact Form 7 forms?

Yes, from version 1.4.0, but the Contact Form 7 protection is off by default. Turn it on in "Fstyle Blocker" > "Contact Form 7 Protection". It adds a hidden field (people never see it, bots often fill it in) and records the time from opening the page to sending the form. A submission that fills in the hidden field, is sent faster than the shortest time (3 seconds by default), or is sent without JavaScript is treated as spam by Contact Form 7, and the visitor sees Contact Form 7's spam message.

What is "Log only"?

The messages are still sent, and the plugin only counts the submissions it would have blocked. Use it for a while to compare with your current spam protection (for example reCAPTCHA) before switching to "Block".

Does it send data to an outside service?

No. The check runs on your server. Only daily counts and the latest detections (time, form ID and reason, no personal data) are kept in your site's options.

I use a page cache. Do I need to do anything?

Clear the page cache after turning the protection on, so that cached pages include the new fields. Forms on pages cached before that are not judged (they are counted as "Not judged"). The timer is written by JavaScript in the browser, so cached pages keep working.

更新日志:

1.5.1 1.5.0 1.4.1 1.4.0 1.3.0 1.2.0 1.1.1 1.1 1.0