Как подключить reCaptchaV3 к Tickets ?

Здравствуйте!
Сделал форму отзывов на компоненте Tickets (с костылем, чтобы без авторизации можно было тикеты создавать), теперь опасаюсь что будет спам приходить. На Modstore есть компонент reCaptchaV3 modstore.pro/packages/utilities/recaptchav3, но там объясняется только как его к Formit привязать.
Можно ли что-нибудь подобное сделать и для Tickets?
Игорь
27 августа 2019, 13:28
modx.pro
1 052
0

Комментарии: 3

Максим
27 августа 2019, 13:51
0
Это же всего лишь сниппет, который возвращает либо true либо false. Соответственно, вам нужно вызвать этот сниппет до создания коментария и если ответ от этого сниппета false, то показываете ошибку, иначе создается комментарий.
    Максим
    27 августа 2019, 14:06
    0
    А вообще не знаю зачем морочиться с reCaptchaV3, если можно спокойно проверять:
    1) Была ли нажата кнопка отправить
    2) Создать поле с типом e-mail и именем например userEmail, скрыть его стилями и поставить с пустым значением. Потом проверять на пустоту. Боты обычно заполняют все поля у которых тип не hidden и не submit + умные боты смотрят name, style, class и если находят слова spam, dn или display:none, то игнорируют его.
    3) Современные формы отправляются посредством ajax. Соответственно, если у вас форма отправляется через ajax, то нужно еще проверять на Ajax. Василий Наумкин предложил вот такой способ:
    $isAjax = isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
    Он рабочий.
      Александр
      02 ноября 2019, 06:09
      0
      Эти способы были хороши году в 2010, современные боты пройдут такую защиту, даже не узнав о её существовании.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3