reCAPTCHA
极狐GitLab 使用 reCAPTCHA 来防止垃圾邮件和滥用。极狐GitLab 在注册页面上显示 CAPTCHA 表单,确认正在尝试创建账户的是真实用户,而不是机器人。
配置
要使用 reCAPTCHA,首先要创建一个站点密钥和私钥。
- 前往 Google reCAPTCHA 页面。
- 要获取 reCAPTCHA v2 密钥,请填写表格并选择 提交。
- 以管理员身份登录您的极狐GitLab 服务器。
- 在左侧边栏中,选择 搜索或转到。
- 选择 管理中心。
- 在左侧边栏中,选择 设置 > 报告 (
admin/application_settings/reporting
)。 - 展开 垃圾信息及防机器人保护。
- 在 CAPTCHA 字段中,输入您在前面步骤中获得的密钥。
- 选择 启用 CAPTCHA 复选框。
- 要为通过密码登录的操作启用 CAPTCHA,请选中 启用 CAPTCHA 进行登录 复选框。
- 选择 保存更改。
- 如果想绕过垃圾信息检查,让响应中直接返回
recaptcha_html
,您可以:- 打开
app/services/spam/spam_verdict_service.rb
。 - 将
#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' }