有人可以帮我设置 reCAPTCHA 服务器端吗?

Can someone help me to set up reCAPTCHA server side?

我是 PHP 的新手,我正在尝试在 PHP 邮件表单中添加验证码。
代码类似于:

PHP:

<?php if (isset($_POST['send'])) {
    $to = "mymail@gmail.com";
    $subject = "subject";
    $message = 'Name: ' . $_POST['name'] . "\n";
    $message .= 'Email: ' . $_POST['email'] . "\n";
    $message .= 'IP: ' . $_SERVER['REMOTE_ADDR'] . "\n";
    $message .= 'Message: ' . $_POST['message'];
    $success = mail($to, $subject, $message); }?>`

HTML:

<form method="post">
<p>name</p>
<input type="text" name="name" class="contactformimput"/>
<p>email*</p>
<input type="text" name="email" class="contactformimput"/>
<p>number</p>
<input type="text" name="number" class="contactformimput"/>
<p>Messaggio*</p>
<input type="text" name="message" onkeyup="adjust_textarea(this)" class="contactformimput" id="contactformtext">
<div class="g-recaptcha" data-sitekey="__MYPUBBLICKEY__"></div>
<div id="divcontactbutton">
<input type="reset" name="send" value="Resetta" class="button" id="resetmessage"/>
<input type="submit" name="send" value="Invia Messaggio" class="button" id="sendmessage"/>
</div>
</form>

使用Google的recaptcha好用, 您需要做的第一件事是在 Google recaptcha 上注册您的网站,然后 GoogleRECAPTCHA

提交后,Google将为您提供以下两个信息。

  • 站点密钥
  • 密钥

使用此代码将其集成到您网站的 head 标签内

<script src='https://www.google.com/recaptcha/api.js'></script>

要在您的表单中显示小部件,请在您的表单中使用此代码

<div class="g-recaptcha" data-sitekey="SITE-KEY"></div>

当表单提交到服务器时,此脚本将 g-recaptcha-response 作为 POST 数据发送。您需要验证它以查看用户是否检查了验证码

Php 检查代码

 if(isset($_POST['g-recaptcha-response'])){
      $captcha=$_POST['g-recaptcha-response'];
    }
    if(!$captcha){
      echo '<h2>Check captcha .</h2>';
      exit;
    }
    $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=YOUR SECRET KEY&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
    if($response.success==false)
    {
        //redirect back
    }else
    {
       //your mail code 
    }