Drupal 9 reCaptcha 如何在国内正常使用

最近有客户问到 Drupal 9 关于reCaptcha在中国国内如何正常使用的问题,今天我们和大家分享一下操作方法,欢迎留言和我们交流;

1.获取Site Key 和 Secret Key
访问https://www.google.com/recaptcha/admin(需要梯子),注册后,选择version 2,填写域名后,可以获得以上两个key。

2.安装recaptcha模块并配置
安装并启用recaptcha模块后,访问admin/config/people/captcha/recaptcha,输入以上两个 key值 ,并勾选Use reCAPTCHA globally,如下图:

3.以上步骤后,人机验证能正常在表单下面显示,但提交表单时会报验证失败的错误。需对文件modules/contrib/recaptcha/src/ReCaptcha/RequestMethod/Drupal8Post.php 作如下修改(35行左右):

$response = \Drupal::httpClient()->post(ReCaptcha::SITE_VERIFY_URL, $options);

修改为

$response = \Drupal::httpClient()->post('https://www.recaptcha.net/recaptcha/api/siteverify', $options);