Почему идёт спам с форм? Recaptcha invisible

Форма

<div class="modal fade" id="zadvopros" tabindex="-1" role="dialog" aria-labelledby="zadvoprosLabel" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content bg-white rounded-0">
            <div class="modal-body">
                <form action="/send.php" method="post">
                    <div class="form-group">
                        <input type="text" class="form-control rounded-pill fs-0-75" name="name" aria-required="true" placeholder="Имя" minlength="2" required>
                    </div>
                    <div class="form-group">
                        <input type="tel" class="form-control rounded-pill fs-0-75" name="phone" aria-required="true" placeholder="Ваш телефон" required>
                    </div>
                    <div class="form-group">
                        <textarea class="form-control rounded-lg fs-0-75" name="question" placeholder="Ваш вопрос" rows="3" required></textarea>
                    </div>
                    <div class="form-check mb-3">
                        <input class="form-check-input" type="checkbox" value="" id="zadvopros-check" required>
                        <label class="form-check-label fs-0-75" for="zadvopros-check">Я даю согласие на обработку
                        <a href="/politika.pdf" target="_blank" class="text-red text-underline">персональных данных</a>
                        </label>
                    </div>
                    <input type="hidden" name="recaptcha_response" class="recaptchaResponse">
                    <button type="submit" class="btn btn-blue btn-block rounded-pill fs-1-125 font-weight-semibold py-2">Отправить</button>
                </form>
            </div>
        </div>
    </div>
</div>
<!-- /Задать вопрос -->
<script>
grecaptcha.ready(function() {
grecaptcha
  .execute("тутмойключ", {
    action: "contact"
  })
  .then(function(token) {
    document
      .querySelectorAll(".recaptchaResponse")
      .forEach(elem => (elem.value = token))
    ;
  });
});
</script>

send.php

   <?php

    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $question = $_POST['question'];
    $url = $_SERVER['HTTP_REFERER'];
    $mail = "Имя: $name\nТелефон: $phone\nВопрос: $question\nОткуда отправлено: $url";
    $to = "[email protected]";
    $from = "[email protected]";
    $subject = "Новая заявка с сайта";
    $headers = "From: $from";
    if(!empty($name) && !empty($phone) && !empty($question)) {
        if ( mail($to, $subject, $mail, $headers) ) {
            echo "Message accepted";
            header('Location: /spasibo.php');
        } else {
            echo "Error: Message not accepted";
        }
    }
?>

Проблема в том что спам валится просто тоннами! В чем может быть причина? Может быть нужна какая-то ещё доп. защита.


Ответы (0 шт):