我目前使用 HTML 和 PHP 实现了表单的 reCaptcha。客户端解决方案可以正常运行,没有任何问题。但服务器端验证失败。
所以这是我的服务器端代码:
$data = array(
"secret" => "MY_SECRET_KEY",
"response" => $captcha_response,
"remoteip" => $_SERVER['REMOTE_ADDR']
);
$opts = [
"http" => [
"method" => "POST",
"header" => "Accept-language: en",
"content" => http_build_query($data)
]
];
$context = stream_context_create($opts);
$data = json_decode(file_get_contents('https://www.google.com/recaptcha/api/siteverify', false, $context), true);
所以现在当我转储结果时我得到以下输出:
array(4) {
["success"]=>
bool(false)
["challenge_ts"]=>
string(20) "2017-06-22T13:14:50Z"
["hostname"]=>
string(9) "localhost"
["error-codes"]=>
array(1) {
[0]=>
string(12) "invalid-keys"
}
}
我确信响应代码将完全发送到 PHP 脚本。
我也在API文档中搜索过,但只找到这些错误代码 https://developers.google.com/recaptcha/docs/verify#error-code-reference没有任何匹配invalid-keys
.
我做错了什么?
如此愚蠢。我从错误的项目来自管理控制台 https://www.google.com/recaptcha/admin#list。错误的项目未列入白名单localhost
,这是我需要的。此外,公共站点密钥和秘密密钥不匹配(但两者均有效)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)