【问题标题】:Setting up reCAPTCHA in HTML Contact Form在 HTML 联系表单中设置 reCAPTCHA
【发布时间】:2020-04-08 16:58:22
【问题描述】:

我的网站上有一个联系表,其中包含了 reCAPTCHA。客户端正在工作;但是,服务器端有问题。 Google reCAPTCHA 网站的服务器端集成页面提供了密钥、响应和远程 IP 表。我已将它们包含在我的代码中,但我不知道要包含什么作为响应,因为表格显示:

回复:必填。 reCAPTCHA 提供的用户响应令牌 您网站上的客户端集成。

这是我的 PHP 代码:

    $secretKey="";
    $responseKey=$_POST['g-recaptcha-response'];
    $UserIP = $_SERVER['REMOTE_ADDR'];
    $url="...siteverify?secret=$secretKey$response=$responseKey&remoteip=$UserIP";

    $response = file_get_contents($url);
    $response = json_decode($response);

    if($response->success){
    do something
    }
    else{
    Display error message
    }

目前,这不起作用,代码正在执行 if 的 else 部分,即使用户已通过验证。我不确定 $response 的价值,所以我猜这就是问题所在。我该如何解决这个问题? 是因为 $response 吗?如果是这样,我应该在这里给 $response 什么值:

$responseKey=$_POST['g-recaptcha'];

【问题讨论】:

    标签: php html forms http recaptcha


    【解决方案1】:

    我想你只是有一个错字。您的 URL 字符串中的响应之前有一个“$”,因此它被解释为当前未定义的 PHP 变量。那应该是一个 & 符号。

    这可能不是唯一的问题,但这是我看到的第一件事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-14
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-15
      • 1970-01-01
      相关资源
      最近更新 更多