Почему идёт спам с форм? 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";
}
}
?>
Проблема в том что спам валится просто тоннами! В чем может быть причина? Может быть нужна какая-то ещё доп. защита.