Защита от спама

Последнее обновление: 14 декабря, 2020

email

Принятые обозначения name и их назначение:

  • identigilo — заголовок страницы (нужен в случаях когда есть функционал вернуться на страницу Х)
  • traduko — язык страницы (нужен на мультиязычных сайтах)
  • ago — название формы (узнать больше; получить подарок; задать вопрос)
  • loko — расположение формы на странице (форма в блоке на первом экране; попап с кнопки детали тарифа Х на экране Тарифы)
  • gpixel — ключевое слово латиницей, позволяющее понять, с какой страницы была оставлена заявка; нужно для отслеживания конверсии, применяется при переадресации на страницу спасибо, к примеру, для страницы smm: https://sapid.info/thanks/?gpixel=smm
  • pago — url страницы с формой
  • organizo — организация которую вы представляете
  • interkonsento — галочка соглашения с политикой конфиденциальности и прочим
  • nomo — имя
  • posto — почта
  • telefono — телефон
  • mesago — сообщение (комментарий)

Идея в том, что форма должна содержать:

  • отображаемые пользователю поля, в которых атрибут name написан на языке эсперанто;
  • скрытые поля, содержащие техническую информацию (адрес страницы, УТП, идентификатор формы);
  • скрытые поля для спам-ботов, в которых атрибут name заполнен на привычном, английском языке.

Соответственно обработчик проверяет условия:

  • заполнено как минимум 1 поле из полей e-mail и телефон;
  • не пустые поля с технической информацией;
  • пустые поля для спам-ботов.

Если хоть 1 из условий не выполнено — обработчик переадресовывает на страницу благодарности с сообщением об ошибке, или на главную страницу сайта.

Код формы обратной связи (новое)

<form action="" method="post">
    <input type="text" name="nomo" placeholder="Имя">
    <input type="email" name="posto" placeholder="E-mail" required="required">
    <input type="text" name="telefono" placeholder="Телефон" required="required">
    <input type="text" name="organizo" placeholder="Название вашей компании">
    <textarea name="mesago" placeholder="Сообщение"></textarea>
    <button type="submit">Request a consultation</button>

    <div style="display: none;">
        <input type="text" name="name">
        <input type="email" name="mail">
        <input type="email" name="email">
        <input type="text" name="phone">
        <input type="text" name="tel">
        <input type="text" name="url">
    </div>
  
    <div style="display: none;">
        <input type="text" name="identigilo" value=""><?php /* Заголовок страницы */ ?>
        <input type="text" name="gpixel" value=""><?php /* Параметр для гугл пикселя */ ?>
        <input type="text" name="traduko" value=""><?php /* Язык страницы */ ?>
        <input type="text" name="ago" value=""><?php /* название формы (узнать больше; получить подарок; задать вопрос) */ ?>
        <input type="text" name="loko" value=""><?php /* расположение формы на странице (форма в блоке на первом экране; попап с кнопки детали тарифа Х на экране Тарифы) */ ?>
        <input type="text" name="pago" value="<?php echo 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>"><?php /* url страницы с формой */ ?>
    <input type="text" name="interkonsento" value=""><?php /* галочка соглашения с политикой конфиденциальности */ ?>
    </div>
</form>

Способ заполнения в popup-форме полей технической информации, изменения заголовка/подзаголовка/надписи на кнопке:

<a href="#popup_form" onclick='
    document.getElementById("ago").value = "Всплывающая форма `Получить консультацию`";
    document.getElementById("detail").value = "Тарифный план `GOLD`, кнопка `Заказать`";
    $("#popup_form_title").html("Получите консультацию");
    $("#popup_form_descr").html("Мы ответим на все ваши вопросы об услуге и поможем сделать заказ!");
    $("#butono").html("Получить консультацию");
' class="fancybox">open popup</a>