【发布时间】:2016-10-20 11:12:31
【问题描述】:
我正在为一个待售域名填写查询表,并对其实施了 google reCaptcha。 reCaptcha 在我的本地服务器上使用 xampp 运行良好,但是当我将它上传到服务器上时,即使我检查了验证码,它总是响应成功 = false。这是我的代码:
$url = 'https://www.google.com/recaptcha/api/siteverify';
$privatekey = "KEY";
$response = file_get_contents($url."?secret=".$privatekey."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']);
$data = json_decode($response);
if(isset($data->success) AND $data->success==true){
//some code
}
else{
//some code
}
我为本地开发和实时开发使用单独的密钥。我相信当我将它上传到服务器时,我使用了正确的密钥和站点密钥。知道为什么会这样吗?
【问题讨论】:
-
根据live url生成api key。它会起作用的..!
-
您的
$data对象包含error-codes属性。这会告诉你出了什么问题。 -
我已经尝试在我的本地服务器中转储 recaptcha 响应,但他们没有错误代码
-
尝试在两台服务器上查看
var_dump($response)。您应该总是看到 JSON 格式的字符串。如果没有,您的 HTTPS URL 不起作用。有关您可以进行的讨论和测试,请参阅 [stackoverflow.com/questions/1975461/…