pushpasta/simple-honeypot-cf7

GitHub: pushpasta/simple-honeypot-cf7

为 Contact Form 7 提供基于蜜罐字段、时间检查、工作量证明和自定义规则的本地化垃圾信息防护插件。

Stars: 0 | Forks: 0

![Contact Form 7 的简单蜜罐](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/873aa18c81004726.jpg) # Contact Form 7 的简单蜜罐 为 Contact Form 7 提供轻量级的蜜罐、时间检查、工作量证明和基于规则的垃圾信息防护。 ![WordPress](https://img.shields.io/badge/WordPress-6.7%2B-blue) ![PHP](https://img.shields.io/badge/PHP-7.4%2B-777BB4) ![Tested up to](https://img.shields.io/badge/Tested%20up%20to-7.0-success) ![Stable tag](https://img.shields.io/badge/Stable%20tag-1.0.0-blueviolet) ![License](https://img.shields.io/badge/License-GPLv2%20or%20later-green) | 属性 | 值 | |----------|-------| | 贡献者 | pushpasta | | 捐赠链接 | [https://github.com/pushpasta/simple-honeypot-cf7/?sponsor](https://github.com/pushpasta/simple-honeypot-cf7/?sponsor) | | 标签 | contact form 7, cf7, honeypot, antispam, spam protection, bot protection, proof of work, hashcash | | 最低要求版本 | 6.7 | | 测试至 | 7.0 | | 稳定版标签 | 1.0.0 | | PHP 要求 | 7.4 | | 需要的插件 | contact-form-7 | | 许可证 | GPLv2 or later | | 许可证 URI | [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html) | ## 描述 为 Contact Form 7 提供隐藏蜜罐字段、时间检查、工作量证明、自定义规则和垃圾信息报告功能。所有操作均在您的服务器上运行——无需外部服务,也不跟踪访客。 ### 功能 * 🪤 为 Contact Form 7 添加 `[honeypot]` 表单标签,支持每个表单包含多个字段。 * 🔒 服务器端 token 验证——验证期间无需查询数据库。 * 🧩 动态字段名称会定期变化,对缓存友好,且让机器人更难预测。 * ⏱️ 时间检查会标记那些比人类填写表单所需时间更短就提交的内容。 * 🧠 可选的工作量证明——浏览器在提交前解开一个计算谜题。人类几乎察觉不到,但机器人需要付出高昂代价。 * 🛡️ IP 和邮箱屏蔽规则,支持通配符和 CIDR。 * 🔐 所有检查均在本地运行——无外部 API 调用,无访客跟踪,无数据共享。 * 🔁 将所有设置(全局 + 单个表单)作为单个 JSON 文件进行导入和导出。 * 📝 记录被拦截的垃圾信息,包含表单、IP、user agent 和拦截原因等详细信息。 * 🧾 将垃圾日志的原因添加到 CF7 的提交记录中,以便 Flamingo 等记录存储插件使用。 ## 安装说明 ### 手动安装 1. 将 `simple-honeypot-cf7` 文件夹上传到 `/wp-content/plugins/` 目录。 2. 在插件页面激活“Simple Honeypot for Contact Form 7”。 3. 确保 Contact Form 7 已安装并激活。 4. 在 CF7 表单中添加 `[honeypot]` 字段。 ## 常见问题
蜜罐是如何工作的? 插件会添加一个或多个对正常访客不可见的隐藏字段。自动化机器人通常会填写这些字段,从而在处理之前就能识别并拦截垃圾提交。您可以在单个表单中添加多个蜜罐字段。
什么是工作量证明,它有什么作用? 工作量证明要求访客的浏览器在表单提交前花费少量的 CPU 时间来计算 hash。在默认复杂度下,这大约需要 50–100 毫秒——人类几乎察觉不到——但会迫使自动化垃圾工具消耗大量资源。它可以在设置中启用或禁用,并支持自定义难度。需要启用 JavaScript 并使用安全(HTTPS)连接。
插件会拦截提交过快的表单吗? 是的。插件会验证页面加载与表单提交之间的时间间隔。如果提交速度比设定的最短时间还要快,就会被标记为垃圾信息。时间检查可以继承全局设置,也可以针对单个表单进行启用或禁用。
支持哪些类型的垃圾拦截规则? 插件支持 IP 地址(包含通配符和 CIDR)和邮箱地址(包含通配符)。如果需要关键词或正则模式过滤,请使用 WordPress 的“禁止评论关键词”设置(设置 → 讨论),Contact Form 7 会自动检查此项。
插件会将表单数据发送给第三方服务吗? 不会。所有垃圾检查均在您的网站本地执行。不会向外部服务发送任何表单提交记录或访客数据。
蜜罐的值会被存储在 Flamingo 等记录插件中吗? 默认情况下,蜜罐字段会在数据存储前从提交内容中移除。您可以选择在插件设置(在“数据”下)中启用蜜罐值的存储功能,以便用于调试或安全分析。
为什么提交的内容会被标记为垃圾信息? 垃圾日志会显示是哪条规则触发了检测,例如填写了蜜罐字段、未通过时间检查、包含了拦截关键词,或者是触发了自定义的 IP 或邮箱规则。
卸载插件时会发生什么? 插件的所有数据(包括设置、统计数据和单个表单的配置)都会从数据库中删除。唯一的例外是已经记录在日志中的垃圾提交记录,这些内容会被保留。
## 截图 ### 常规设置 配置时间阈值、token 有效期、工作量证明复杂度和数据保留期限。 ![常规设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9c953ab9bc004732.png) ### 规则 创建 IP 或邮箱规则,以拦截特定地址或模式。 ![规则](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a43c4a88bf004739.png) ### 报告 查看被拦截的提交统计数据,包含原因和表单分类明细。 ![报告](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/159e10f2ed004746.png) ### 表单设置 针对单个表单覆盖时间检查设置。 ![表单设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2b0b2215a0004753.png) ### 垃圾日志 审查每条被拦截提交的详细记录,包括原因、IP 和 user agent。 ![垃圾日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/906dce0907004800.png) ## 更新日志 ### 1.0.0 * 首次发布。 ## 升级提示 ### 1.0.0 * 首次发布。
标签:Bot防护, Contact Form 7, ffuf, OpenVAS, PHP, WordPress插件, 反垃圾信息, 文件完整性监控, 蜜罐防护