Altcha

/ 2026-09-05/0/ 编辑


Altcha

由 Typecho-Turnstile 插件爆改而来,将验证后端从 Cloudflare Turnstile 替换为 ALTCHA 工作量证明(Proof-of-Work)。

下载

与 Turnstile 的区别

TurnstileAltcha (本插件)
验证方式Cloudflare 远程校验本地工作量证明 (PoW)
外部请求需访问 Cloudflare无任何外部请求
隐私访客数据提交给 Cloudflare不收集任何数据
部署要求需注册 Cloudflare 获取密钥零配置,启用即用
机器人成本每次提交需消耗真实算力解题

工作原理

  1. 浏览器从 /action/altcha 获取由 HMAC 签名的一次性挑战(PBKDF2 工作量证明);
  2. 访客浏览器用 Web Worker 求解挑战(耗时约 0.1 ~ 2 秒,取决于难度设置);
  3. 提交表单时附带解答,服务端验证 HMAC 签名与工作量,无需任何外部调用;
  4. 挑战带有效期(默认 15 分钟),且每个已通过的解答会被记录到数据库防重放表 {前缀}altcha_used(主键抢占,并发安全),同一解答只能成功提交一次,过期记录自动清理;启用插件时自动建表,禁用时自动删表,兼容 SQLite / MySQL / PostgreSQL。多机共享同一数据库的部署同样生效。
防重放表写入异常时插件会放行请求并在 PHP error_log 记录警告(fail-open),避免存储故障阻断全部评论;若日志中出现相关报错,请尝试重新启用插件以重建数据表。

环境要求

  • Typecho 1.3+
  • PHP 8.1+(启用时强制校验)

开源地址

前往Github

猜你喜欢