#Mastodon 最近后台收到不少垃圾注册申请,为避免 spam,给注册表单添加了一个验证码,可以有效阻止垃圾注册行为。有需要的请自行取用,我专门把代码整理到一个干净的分支上了,可以直接合并到官方的 master 分支上: feat: add captcha to registration form (#254)
可以用 git cherry-pick
合并这个 commit:
$ git remote add mashirozx https://github.com/mashirozx/mastodon.git
$ git fetch mashirozx
$ git cherry-pick fef2dd33eb4b97dd11b91a8771b007d925165042
合并后 .env.production
里面加上一条 CAPTCHA_ENABLED=true
。
验证码使用的是一个轻量的 rails gem rucaptcha,完全在本地生成验证码并完成验证,不调用任何第三方 API。
不选择 reCAPTCHA 和 hCAPTCHA 的原因:两者在国内的加载速度不理想,使用过程繁琐反人类;不选择极验的原因:免费使用次数有限制,且 SDK 不完善,官方示例的 config 甚至直接写在 controller 里面,告辞