Извините за длинное сообщение, но это очень важно, не только для меня, но и для многих пользователей, которые борются с этим.
Я очень обеспокоен этим и очень раздражен.У меня есть сайт, и я продаю услуги по созданию базовых сайтов для других людей.У меня есть форма и не было reCaptcha, когда 2 дня назад это началось.Сейчас в моей форме есть reCaptcha, но я не думаю, что сделал все правильно, потому что спам-сообщения по-прежнему приходят каждые несколько часов.Я прочитал несколько часов об этом, и я не очень понимаю это.Это то, что у меня есть до сих пор, и я надеюсь, что вы поможете мне сделать его пуленепробиваемым.
У меня есть это в моей форме внизу до закрытия тега формы:
<div class="g-recaptcha" data-sitekey="PUBLIC-KEY"></div>
<br>
<center> <p id="txt"><input id="mybtn" type="submit" value="Verzend"> <span id="status"></span></p></center>
И у меня есть код javascript, который связывает его с кодом ajax с кодом формы php, где код написан для отправки входных данных на мою электронную почту:
<code>function submitForm(){
/* FIRST IF STATEMENT IS TO CHECK IF RECAPTCHA IS EMPTY */
var recaptcha = $("#g-recaptcha-response").val();
if (recaptcha === "") {
event.preventDefault();
alert("Check ReCaptcha");
}
else{
"use strict";
_("mybtn").disabled = true;
_("status").innerHTML = 'een moment geduld aub ...';
var formdata = new FormData();
formdata.append( "n", _("n").value );
formdata.append( "e", _("e").value );
formdata.append( "mn", _("mn").value );
formdata.append( "m", _("m").value );
var ajax = new XMLHttpRequest();
ajax.open( "POST", "contactform.php" );
ajax.onreadystatechange = function() {
if(ajax.readyState === 4 && ajax.status == 200) {
if(ajax.responseText == "success"){
_("my_form").innerHTML = '<h2>Dankuwel '+_("n").value+'. Uw bericht is succesvol verzonden. We zullen zo snel mogelijk op uw bericht reageren.<pre>Een fijne dag verder!
';} else {_ ("status"). innerHTML = ajax.responseText;_ ("mybtn"). disabled = false;}}};ajax.send (formdata);}}
и это мой код contactform.php
<?php
if( isset($_POST['n']) && isset($_POST['e']) && isset($_POST['mn']) && isset($_POST['m']) ){
$n = $_POST['n']; // HINT: use preg_replace() to filter the data
$e = $_POST['e'];
$mn = $_POST['mn'];
$m = nl2br($_POST['m']);
$to = "gesternl@gester.nl";
$from = $e;
$subject = 'Contact Formulier';
$message = '<b>Naam:</b> '.$n.' <br><b>Email:</b> '.$e.' <br><b>Mobiel-nummer:</b> '.$mn.' <p>'.$m.'</p>';
$headers = "Van: $from\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
if( mail($to, $subject, $message, $headers) ){
echo "success";
} else {
echo "De server is er niet in geslaagd om een bericht te verzenden. Probeer het aub later weer. Dankuwel!";
}
}
?>
Так что я не понимаю, где мне нужно поместить закрытый ключ и если закрытый ключнеобходимо сделать его пуленепробиваемым.Мне показалось, что я прочитал, что закрытый ключ - это если вы хотите, чтобы ваша информация отправлялась на ваш счет в recaptca или в Google?
Надеюсь, и я был бы очень признателен, если бы кто-нибудь смог объяснить мне, что я из себя представляюотсутствует и как я могу улучшить это.