@botpoison/browser

中文文档
1.2.0发布于 2026/11/05TypeScriptESM + CJS零依赖近 30 天下载 9803

浏览器的Botpoison挑战:一个隐形 CAPTCHA 的替代方案,在发送一个表单时解决工作证明谜题. 没有饼干,没有部件.

中文使用文档
文档目录4 节
  1. 一个简单的 HTML 形式
  2. 用 JavaScript 发送的表格
  3. 在您的服务器上
  4. 文档

@botpoison/浏览器

浏览器库 Botpoison 挑战, (中文(简体) ), 用于网络表格的 CAPTCHA 的无形替代品。 当访客按住 发送, 库获取一个签名的工作证明谜题, 在 浏览器并将答案附在窗体上。 访客没有看到谜题,没有 复选框和无部件。 您的服务器然后用一个电话检查答案, 用于 实例 @botpoison/node。 。 。 .

  • 无依取相. 装入 async。 。 。 .
  • 设置不 cookie 并在浏览器中存储任何内容 .
  • 需求 BigInt 和Web Crypto,所以页面必须服务于 HTTPS(或 从当地主机).

您需要一个项目的公用钥匙( E)pk_...) (中文(简体) ). 创建免费的工程 (原始内容存档于2017-10-26). botpoison.com。 。 。 .

一个简单的 HTML 形式

没有JavaScript可以写入. 添加脚本并在表单上放出您的公钥 :

<script
  src="https://unpkg.com/@botpoison/[email protected]/dist/index.js"
  integrity="sha384-Coq4yXcH6P37EoKbvbmZZj3UpsLwU5Ir/tth7Fgf24Q5JUj2I4hcwqtj3zKi7+PA"
  crossorigin="anonymous"
  async
></script>

<form action="/contact" method="POST" data-botpoison-public-key="pk_xxxxxxxx">
  <!-- your fields -->
  <button type="submit">Send</button>
</form>

提交库解决谜题时, 添加隐藏 _botpoison 字段和 发送表格。 燃烧 botpoison-challenge-start, (中文(简体) ), botpoison-challenge-success 财务报告和审定财务报表 botpoison-challenge-error 在表单上。 打开 未发送表单出错: 请听 botpoison-challenge-error 告诉 游客们 发生了什么事.

脚本加载前发送的表格 _botpoison。为了防止这种情况,保留 发送禁用到脚本起火 botpoison-ready (单位:千美元)实例) (中文(简体) ).

用 JavaScript 发送的表格

npm install @botpoison/browser
import Botpoison from "@botpoison/browser";

const botpoison = new Botpoison({ publicKey: "pk_xxxxxxxx" });

form.addEventListener("submit", async (event) => {
  event.preventDefault();
  const { solution } = await botpoison.challenge();
  await fetch("/contact", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ ...fields, _botpoison: solution }),
  });
});

challenge() 当谜题无法获取或解开时拒绝, 例如 当API无法到达. challenge({ onProgress }) 报告进展情况 解时从 0 到 1 .

在您的服务器上

发送 _botpoison 值为 /verify 用你的密钥,接受 只在答复时提交 ok: true。见 在您的服务器上验证 用于Node.js,PHP,Python,Go,Rust,Java和平原HTTP.

文档

版本与发布记录

@botpoison/browser 共发布 40 个版本,首次发布于 2021/01/23;过去 12 个月发布了 11 个版本。

版本发布日期距今
1.2.0latest2026/11/053 天前
1.1.02026/10/1325 天前
1.0.02026/08/262 个月前
0.4.02026/08/112 个月前
0.3.12026/08/073 个月前
0.3.02026/08/013 个月前

关于 @botpoison/browser 的常见问题

@botpoison/browser 是什么?

浏览器的Botpoison挑战:一个隐形 CAPTCHA 的替代方案,在发送一个表单时解决工作证明谜题. 没有饼干,没有部件.

如何安装 @botpoison/browser?

在项目目录运行 npm install @botpoison/browser,或使用 pnpm add / yarn add / bun add。

@botpoison/browser 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@botpoison/browser 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@botpoison/browser 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@botpoison/browser 可以商用吗?

@botpoison/browser 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@botpoison/browser 的下载量有多少?

根据 npm 官方下载统计,@botpoison/browser 在 2026/10/09 – 2026/11/07 这 30 天内被下载 9,803 次,日均约 327 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@botpoison/browser 还在维护吗?

最新版本 1.2.0 发布于 2026/11/05(3 天前);至今共发布 40 个版本,其中过去 12 个月发布了 11 个;首次发布于 2021/01/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。