Help us learn about your current experience with the documentation. Take the survey.
reCAPTCHA
- Tier: 免费版、高级版、旗舰版
- Offering: GitLab 自托管版、GitLab 专属版
GitLab 利用 reCAPTCHA 来防范垃圾邮件和滥用行为。GitLab 在注册页面上显示 CAPTCHA 表单, 以确认是真实用户而非机器人正在尝试创建账户。
配置
要使用 reCAPTCHA,首先需要创建站点密钥和私钥。
- 访问 Google reCAPTCHA 页面。
- 要获取 reCAPTCHA v2 密钥,填写表单并选择 提交。
- 以管理员身份登录您的 GitLab 服务器。
- 在左侧边栏底部,选择 Admin。
- 选择 设置 > 报告。
- 展开 垃圾邮件和机器人防护。
- 在 reCAPTCHA 字段中,输入您在上一步中获得的密钥。
- 选中 启用 reCAPTCHA 复选框。
- 要为密码登录启用 reCAPTCHA,请选中 为登录启用 reCAPTCHA 复选框。
- 选择 保存更改。
- 要绕过垃圾邮件检查并触发返回
recaptcha_html的响应:- 打开
app/services/spam/spam_verdict_service.rb。 - 将
#execute方法的第一行更改为return CONDITIONAL_ALLOW。
- 打开
请确保您正在查看的是公开项目中的 issuable。如果您正在处理 issue,该 issue 是公开的。
使用 HTTP 头为用户登录启用 reCAPTCHA
您可以通过 用户界面 或设置 X-GitLab-Show-Login-Captcha HTTP 头
来为用户密码登录启用 reCAPTCHA。
例如,在 NGINX 中,可以通过 proxy_set_header
配置变量来实现:
proxy_set_header X-GitLab-Show-Login-Captcha 1;对于 Linux 包安装实例,在 /etc/gitlab/gitlab.rb 中配置:
nginx['proxy_set_headers'] = { 'X-GitLab-Show-Login-Captcha' => '1' }