Если вы используете FetchIt или планируете — да, обязательно. Если нет — обновление всё равно улучшает UX и стабильность.
Обновление капчи для MODX scxcaptchaAjaxForm
Содержание:
Есть в веб-разработке одна тихая, почти невидимая область — защита форм. Она редко становится темой больших новостей, никто ею не хвастается, и клиенты обычно узнают о ней только тогда, когда в почту начинают прилетать десятки писем от ботов с одинаковыми именами и странными e-mail-адресами.
Но именно эта незаметная часть проекта часто спасает сайт от захламления, спама, нагрузки и неприятных сюрпризов. И ради такой защиты существует наш небольшой, но аккуратный инструмент — scxcaptchaAjaxForm. Простая числовая капча на пять цифр, но с умом, логикой и уважением к пользователю.
И вот настал момент, когда она получила обновление — версию 1.0.1. Скачать scxCaptchaAjaxFormIt -1.0.1
Не громкую, не маркетинговую. А именно ту, которая делает работу капчи спокойной, стабильной и удивительно комфортной.
Это обновление — как будто привести в порядок маленькую, но важную деталь: подточить механизм, смазать петли, убедиться, что все работает так, как и должно работать.
И давай расскажу, что же внутри.
Капча, которая научилась понимать FetchIt
FetchIt — это как быстрый курьер для форм. Без перезагрузки, без задержек, красиво и современно.
Но до версии 1.0.1 капча и FetchIt жили рядом, но не вместе. Они словно уважали друг друга, но разговаривать напрямую пока не умели.
С обновлением всё стало иначе.
Теперь scxcaptchaAjaxForm слушает события FetchIt:
-
fetchit:success — форма успешно отправлена, капча молча перерисовывается;
-
fetchit:error — если сервер вернул ошибку по scx_code, она аккуратно появится прямо под полем ввода;
-
fetchit:reset — сброс формы — сброс капчи.
Разработчику теперь не нужно думать, как «подружить» эти две сущности. Они уже друзья.
И самое приятное — это работает из коробки.
Поставил пакет, подключил ассеты — всё. Ты не занимаешься колдовством с JS, не ловишь события вручную. Капча сама заботится о себе.
UX стал мягче, а пользователю больше не встречается Bad token
Когда мы делали обновление, то вспоминали одну простую истину:
человек не должен думать о том, как работает защита.
Его задача — заполнить форму.
Задача капчи — не мешать ему.
В версии 1.0.1 исчезла одна давняя боль — раздражающая ошибка Bad token, которая могла появляться после успешной отправки формы. Технически это объяснимо, но пользователю от этого не легче.
Теперь всё иначе:
-
после успешной отправки капча перерисовывается автоматически,
-
обновление происходит на том же токене,
-
пользователь вообще не замечает внутренних процессов.
Капча стала как хорошая вежливая охрана — всегда на своём месте, но незаметная.
Ошибки теперь отображаются красиво и в правильном месте
Пожалуй, одна из самых приятных мелочей в 1.0.1 — это то, как теперь показываются ошибки в FetchIt.
Раньше приходилось руками выводить текст ошибки, чтобы она появилась под полем ввода. Теперь капча делает это сама:
— ловит ошибку,
— показывает её в правильном месте,
— перерисовывает изображение,
— и готова к следующему вводу.
То есть форма стала ощущаться «цельной».
Как будто всё это — один организм.
Документация стала понятнее, аккуратнее, живее
Мы обновили документацию так, чтобы в ней не нужно было «знать MODX наизусть». Всё разложено по полочкам:
-
куда вставить блок капчи,
-
как подключить inline-ассеты,
-
когда использовать head,
-
как работает токен,
-
что такое scx_hp, scx_ts, scx_code, scx_token,
-
примеры для FetchIt.
Если раньше документация была хорошей заметкой, то теперь — полноценный путеводитель.
Что важно знать об обновлении 1.0.1
— Пакет теперь стабильно работает с MODX 2.7+ и MODX 3.x.
— Требует PHP 7.4+ (рекомендуется 8.x).
— Работает через GD, умеет рендерить шрифт TTF.
— Капча подгружается только при действии: клике или фокусе.
— Защита стала ещё аккуратнее: honeypot, задержка по времени, короткоживущие токены.
Но главное — это ощущение.
Ощущение того, что капча работает как часть формы, а не как отдельный элемент.
Вопрос? Ответ
В большинстве случаев — нет. Фронтовый адаптер работает сам, важно только корректно подключить scx.css и scx.js.
При фокусе scx_code картинка должна подгружаться. При ошибке — текст ошибки появляется под полем. При успехе — капча мягко обновляется.
Да, для этого есть режим includeAssets=inline. Он гарантирует, что CSS/JS попадут в модалку.
Потому что мы пересмотрели логику обновления токена. Теперь после успешной отправки удаляется только хэш, но сам токен остаётся жив, что позволяет обновлять капчу без конфликтов.
На sait-modx.by есть контакты. Пиши смело — мы любим улучшать свои инструменты.