在实现Recaptcha v2时,尝试验证Recaptcha输入时,错误代码为int n = universe.size();
// initialzie the 2d array to be null
vector<unsigned> T[n + 1][target + 1];
for(int i = 0; i < n; i++){
// empty list
T[i][0].push_back(-1);
}
for(int i = 1; i < n; i++){
unsigned x = universe[i-1];
printf("value of x is: %d\n", x);
for(int j = 0; j < target; j++){
printf("row: %d column: %d\n", i-1, j);
if(!T[i-1][j].empty()){
printf("processing case 1\n");
T[i][j] = T[i-1][j];
}
else if(!T[i-1][j-x].empty()){
printf("processing case 2\n");
T[i-1][j-x].push_back(x);
T[i][j] = T[i-1][j-x];
}
else {
printf("processing case 3\n");
T[i][j] = natural_vector();
}
}
}
return T[n][target];
}
。
我已遵循本(https://www.freakyjolly.com/how-to-add-google-recaptcha-in-php-form/)教程,因为我对所发现的其他人没有运气
'connection-failed'
我没有运气在任何地方找到有关此错误的任何详细信息,并且未在正式的Recaptcha页面上进行记录。我已经出于测试目的编辑了上面的代码段,但是它将发送电子邮件。
答案 0 :(得分:0)
在运行node-php-awesome-server的节点环境中本地工作时,我遇到了同样的问题。 如果您尝试使用localhost reCaptcha密钥对来验证来自localhost的reCaptcha响应,请尝试使用实时Web服务器(具有相对密钥对)进行尝试。 由于某种原因,从本地主机发送请求返回了该错误。 我想它与开发环境有关,但没有进一步研究。
答案 1 :(得分:0)
当我尝试在本地主机上的网站中包含recaptcha时遇到了相同的问题,然后我在我的活动网站(服务器上)中尝试了此代码,并且该代码可以正常工作,希望对您有所帮助。
$secret = 'your server side key from google';
$post_data = http_build_query(
array(
'secret' => $secret,
'response' => $_POST['g-recaptcha-response'],
'remoteip' => $_SERVER['REMOTE_ADDR']));
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $post_data));
$context = stream_context_create($opts);
$response =file_get_contents('https://www.google.com/recaptcha/api/siteverify',false, $context);
$result = json_decode($response);
if($result->success){
echo "Success";
}
if (!$result->success) {
echo "CAPTCHA verification failed.");
}
答案 2 :(得分:0)
如果{{1}中的allow_url_fopen
是off
,则连接将失败,因为php.ini
默认使用Recaptcha
访问API。我不会启用此标志,因为它可能带来安全风险。
如果安装了PHP file_get_contents
模块,我的建议是将curl
与Recaptcha
连接一起使用:
curl