apache 共享服务器上的 google recaptcha V2:如何使其与 SSL 配合使用

apache 共享服务器上的 google recaptcha V2:如何使其与 SSL 配合使用

我在非 https apache 共享服务器上实现了 google 的 reCAPTCHA V2,它 100% 正常工作。然后,我使用与非 SSL 脚本相同的脚本将协议更改为使用 SSL 的共享服务器。旧版本的 reCaptcha 有一个 SSL“false”到“true”的 SSL 参数,而我找不到 V2 的 SSL 参数。

我必须使用 htaccess 将 example.com 重定向到共享 SSL 服务器https://serverid.net/example/,该服务器在没有 recCAPTCHA 的情况下也能完美运行。我整合了 reCAPTCHA V2,并显示应显示 reCAPTCHA 图像的错误消息ERROR: Invalid domain for site key

这是 htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://servername.net/example/$1 [R,L]`

以下是github 上的 recaptchalib.php 代码可能会有帮助:

有人知道怎样让它工作吗?

答案1

旧版本的 reCaptcha 有一个 SSL“false”到“true”的 SSL 参数,而我找不到 V2 的参数。

API 在 v2 中发生了变化。它应该可以在 SSL 和非 SSL 网站中无缝运行。

reCAPTCHA 图像所在的错误消息显示错误:站点密钥的域无效。

您在 example.com 下注册了密钥。因此,google reCAPTCHA 服务器希望用户从域 加载它http://example.com。现在您在 中显示它,http://serverid.net/这与 不同,http://example.com因此呈现了错误消息。

有人知道怎样让它工作吗?

在现有 API 密钥中添加新域名。请参阅这一页获取 reCAPTCHA 仪表板

答案2

在 recaptcha 页面的关键设置中将域名添加到列表中,例如:

exampleshared.com

例如https.com

相关内容