Контакты New

Модули от сторонних разработчиков
Аватара пользователя
duncan
Наш человек
Сообщения: 233
Зарегистрирован: 24 авг 2015, 22:44
Откуда: місто Лева
Благодарил (а): 35 раз
Поблагодарили: 13 раз

Контакты New

Сообщение duncan » 18 май 2017, 19:08

grenspb писал(а):Источник цитаты Не успел я завершить работы по форме обратной связи, как на неё посыпался спам


спама нет

Код: Выделить всё

   <form method="post" class="forms" id="form">
      <label>
           <input type="text" name="fio" placeholder="Введіть Ваше ім’я" required />
       </label>
       <label>
           <input type="text" name="phone" placeholder="Введіть номер телефону" required />
       </label>
      <label>
         <span><input type="checkbox">Я не робот</span>
         <input type="submit" value="Замовити дзвінок" disabled="disabled" name="btnsend" />
      </label>
   </form>

Код: Выделить всё

   .forms input[type="text"]{ padding:8px 10px; border:none; border-radius:5px; background:#fff!important; color:#000!important; font-size: 14px; line-height: 1.4;}
   .forms input[type="submit"]{ cursor:pointer; padding:8px 10px; border-radius:5px; color:#fff;  background: red;   }
   .forms input[type="submit"]:disabled{ background: grey; color:#000; text-decoration: line-through;}

Код: Выделить всё

   $(document).on('change', '.forms input:checkbox', function() {
      if($(this).is(':checked')){
         $(".forms input[type=submit]").removeAttr('disabled');
      }
      else {
         $(".forms input[type=submit]").attr('disabled','disabled');
      }
   });

grenspb
Завсегдатай
Сообщения: 25
Зарегистрирован: 22 апр 2017, 18:30
Благодарил (а): 2 раза

Контакты New

Сообщение grenspb » 18 май 2017, 23:19

M@dD3n писал(а):
grenspb писал(а):Источник цитаты А как избавиться от спама не придумал.

Убрать форму из поля зрения, показывать аяксом. За три года, без всяких каптч, ни одного спама, только если вручную кто-то отправит
+ желательно запретить по GET отправление данных этой формы

Правильно я понимаю, что изначально в html формы нет, а при событии window.onload форму подгружаем аяксом?

duncan писал(а):спама нет

Спасибо за предложенное решение. Попробую.

Кстати, на другом сайте у меня подобная форма стоит и спама не было никогда. Видимо, нефиг страницу было называть "/kontakty" :)

Аватара пользователя
M@dD3n
Администратор
Сообщения: 570
Зарегистрирован: 25 июн 2015, 09:20
Откуда: Russia
Благодарил (а): 14 раз
Поблагодарили: 89 раз
Контактная информация:

Контакты New

Сообщение M@dD3n » 19 май 2017, 09:39

grenspb писал(а):Источник цитаты Правильно я понимаю, что изначально в html формы нет, а при событии window.onload форму подгружаем аяксом?

Именно, либо в модалку грузить тем же аяксом.

grenspb
Завсегдатай
Сообщения: 25
Зарегистрирован: 22 апр 2017, 18:30
Благодарил (а): 2 раза

Контакты New

Сообщение grenspb » 19 май 2017, 15:17

duncan, предложенное решение не сработало. Спам все равно валит. Хрумер не так прост. Только в письмах появилась внизу строчка "Я не робот; нет" :D

M@dD3n, как добавить на страницу аяксом статичную форму, предположим, из шаблона html я понимаю. А вот как добавить форму, которую динамически создаёт модуль, не пойму. :? Ведь если добавлять аяксом тэг [mod_contactsnew:1] после загрузки документа, то он так и останется непонятным тэгом.
Можно по-подробнее, если не сложно?

Ещё я наткнулся на вот такой способ. Это конечно не такая жесть, о чем писал Repellent, но все равно могут быть ситуации, когда, человек не набирает текст в форме, а вставляет уже подготовленный текст сообщения, например, предложение о продаже, которое он рассылает на сайты организаций схожей тематики. Ну, например, станок хочет продать конкурентам. Написал одно письмо и отослал в 10 компаний и в то же время не спамер он :)

Аватара пользователя
M@dD3n
Администратор
Сообщения: 570
Зарегистрирован: 25 июн 2015, 09:20
Откуда: Russia
Благодарил (а): 14 раз
Поблагодарили: 89 раз
Контактная информация:

Контакты New

Сообщение M@dD3n » 19 май 2017, 15:49

grenspb писал(а):Источник цитаты Можно по-подробнее, если не сложно?

Для этого есть сисблоки, никто не мешает засунуть в него тег формы

grenspb
Завсегдатай
Сообщения: 25
Зарегистрирован: 22 апр 2017, 18:30
Благодарил (а): 2 раза

Контакты New

Сообщение grenspb » 19 май 2017, 20:38

M@dD3n писал(а):
grenspb писал(а):Источник цитаты Можно по-подробнее, если не сложно?

Для этого есть сисблоки, никто не мешает засунуть в него тег формы

Всех прелестей цмски я ещё не понял, поэтому задам ещё вопрос.
В системный блок помещаем тэг формы [mod_contactsnew:1], далее этот тэг помещаем в сис блок [tag:sysblock:3], далее со страницы документа контактов подгружаем Аяксом тэг [tag:sysblock:3].
Так?

Аватара пользователя
M@dD3n
Администратор
Сообщения: 570
Зарегистрирован: 25 июн 2015, 09:20
Откуда: Russia
Благодарил (а): 14 раз
Поблагодарили: 89 раз
Контактная информация:

Контакты New

Сообщение M@dD3n » 19 май 2017, 20:44

grenspb писал(а):Источник цитаты Всех прелестей цмски я ещё не понял, поэтому задам ещё вопрос.
В системный блок помещаем тэг формы [mod_contactsnew:1], далее этот тэг помещаем в сис блок [tag:sysblock:3], далее со страницы документа контактов подгружаем Аяксом тэг [tag:sysblock:3].
Так?

Практически, сисблоки могут быть внешними (зависит от настройки самого сисблока), т.е. доступ к сисблоку может быть по ссылке ?sysblock=ID|ALIAS
А дальше уже можно ссылаться к нему из JS + можно выставить галочку в сисблоке, чтобы грузился только при аякс вызове, тогда прямой заход на него, будет отдавать 404, тем самым отрубая концы прямого доступа всем и вся (поисковики, роботы и так далее), кроме клиентского просмотра через браузер

grenspb
Завсегдатай
Сообщения: 25
Зарегистрирован: 22 апр 2017, 18:30
Благодарил (а): 2 раза

Контакты New

Сообщение grenspb » 22 май 2017, 16:21

M@dD3n, спасибо за развернутый ответ. Сделал всё, как ты сказал.
Полёт нормальный, спама нет. :thumbup: Идеальное решение, никаких каптч и прочих фич мешающим людям :)


Вернуться в «Модули от сообщества»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость