gpt4 book ai didi

php - Recaptcha 未使用 file_get_contents 进行验证

转载 作者:可可西里 更新时间:2023-10-31 22:18:17 24 4
gpt4 key购买 nike

对为什么这不起作用感到困惑。提交表单后,我收到错误消息,这意味着我的 recaptcha 验证失败。

来 self 的表单:

<div class="g-recaptcha" data-sitekey="(site-key)"></div>

PHP:

if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
}

$secretKey = "(secret-key)";
$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha);
$responseKeys = json_decode($response,true);
if(intval($responseKeys["success"]) === true) {
echo '<h3>Thanks for your message!</h3>';
} else {
echo '<h3>Error</h3>';
}

最佳答案

reCaptcha 文档特别指定了请求 https://www.google.com/recaptcha/api/siteverify 的参数必须通过 POST 发送。您可以为此使用 CURL。

$ch = curl_init();

curl_setopt_array($ch, [
CURLOPT_URL => 'https://www.google.com/recaptcha/api/siteverify',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'secret' => $secretKey,
'response' => $captcha,
'remoteip' => $_SERVER['REMOTE_ADDR']
],
CURLOPT_RETURNTRANSFER => true
]);

$output = curl_exec($ch);
curl_close($ch);

$json = json_decode($output);

// check response...

关于php - Recaptcha 未使用 file_get_contents 进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43528882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com