Как запретить Google Bot (или другим ботам) отправлять мою HTML-форму с ранее предоставленной информацией? - PullRequest
0 голосов
/ 21 мая 2018

У меня были проблемы с тем, что моя HTML-форма была ложно отправлена ​​ботом, который, как я считаю, является ботом Google.

HTML-форма является типичной формой создания потенциальных клиентов.После отправки данные анализируются php-страницей, сохраняют данные в типичной базе данных mysql и отправляют данные компании по электронной почте.Сценарий стороннего поставщика отправляет данные в приложение панели мониторинга, когда форма отправляется с помощью события onClick.

Дилемма заключается в том, что действительно правильная отправка формы, полученная в понедельник, затем снова отправляется через несколько дней.позже.

И эти «ложные» представления «представляются» в быстрой последовательности, обычно в течение одной или двух минут, и обычно состоят из восьми серий.

Хостинг-сервер говорит, что этобот Google, который отправляет форму с действительной информацией, уже отправленной.Эти сообщения не являются типичным спамом.

Они предлагают использовать robots.txt, чтобы предотвратить доступ бота к форме и странице анализа.Я сделал это.Я даже добавил метатеги, чтобы предотвратить доступ бота к странице анализа.Кажется, что все не удалось.

И после «ложного» представления данные сохраняются в базе данных и электронное письмо с данными отправляется в компанию.

Тем не менее, сторонний скрипт, который отправляет данные на приборную панель, не выполняется.

Итак, в базе данных есть повторяющиеся записи, и входящие сообщения компании заполнены повторяющимися записями.которые они должны разобраться.

Есть ли помощь?Другие люди испытывают это?Кажется настолько странным, что бот может отправить форму (если он действительно отправляет форму или он каким-то образом читает информацию из честной формы, а затем отправляет форму еще раз, чтобы увидеть, куда отправляется форма?)

Заранее благодарим за любую помощь и понимание этого вопроса.

1 Ответ

0 голосов
/ 21 мая 2018

Если GoogleBot действительно отправляет ваши формы с поддельными данными, это означает, что думает, что у вас есть навигационная форма, а не контактная форма .

Убедитесь, что <form> отправлено толькочерез method="POST" и использует типичные атрибуты ввода name, такие как «имя» и «электронная почта».Требовать, чтобы они были действительными перед отправкой.

В качестве последнего средства PHP может обслуживать форму HTML со скрытым значением nonce:

<?php
  session_start();
  $_SESSION['nonce'] = rand();
  echo '<input type="hidden" name="nonce" value="'.$_SESSION['nonce'].'">';
?>

, проверяемое при отправке:

<?php
  session_start();
  if ($_POST['nonce'] !== $_SESSION['nonce']) {
    // bad stuff here
  }
  else unset($_SESSION['nonce']); // Prevent double submissions
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...