reCAPTCHA

极狐GitLab 使用 reCAPTCHA 来防止垃圾邮件和滥用。极狐GitLab 在注册页面上显示 CAPTCHA 表单,确认正在尝试创建账户的是真实用户,而不是机器人。

配置

要使用 reCAPTCHA,首先要创建一个站点密钥和私钥。

  1. 前往 Google reCAPTCHA 页面
  2. 要获取 reCAPTCHA v2 密钥,请填写表格并选择 提交
  3. 以管理员身份登录您的极狐GitLab 服务器。
  4. 在左侧边栏中,选择 搜索或转到
  5. 选择 管理中心
  6. 在左侧边栏中,选择 设置 > 报告 (admin/application_settings/reporting)。
  7. 展开 垃圾信息及防机器人保护
  8. 在 CAPTCHA 字段中,输入您在前面步骤中获得的密钥。
  9. 选择 启用 CAPTCHA 复选框。
  10. 要为通过密码登录的操作启用 CAPTCHA,请选中 启用 CAPTCHA 进行登录 复选框。
  11. 选择 保存更改
  12. 如果想绕过垃圾信息检查,让响应中直接返回 recaptcha_html,您可以:
    1. 打开 app/services/spam/spam_verdict_service.rb
    2. #execute 方法的第一行更改为 return CONDITIONAL_ALLOW

NOTE: 确保您正在查看的项目中的可议项是公开的。如果您正在处理一个议题,那么这个议题是公开的。

为使用 HTTP 标头的用户登录启用 reCAPTCHA

您可以通过在用户界面上的密码或通过设置 X-GitLab-Show-Login-Captcha HTTP 标头来为用户登录启用 reCAPTCHA。比如,在 NGINX 中,可以通过 proxy_set_header 配置变量来完成:

proxy_set_header X-GitLab-Show-Login-Captcha 1;

在 Omnibus 安装的实例中,可以在 /etc/gitlab/gitlab.rb 文件中配置如下内容:

nginx['proxy_set_headers'] = { 'X-GitLab-Show-Login-Captcha' => '1' }