Назад в блог
Разработка Опубликовано 22.09.2026 1 мин чтения

Кто ещё читает? Сторонние скрипты на страницах форм

Страница контактной формы часто загружает код полудюжины других компаний. Часть его видит ввод посетителей, а большую часть никто в Вашей команде никогда не проверял.

Заполняя контактную форму, человек полагает, что сообщение идёт Вам. Однако на многих сайтах страница формы также запускает скрипты аналитических провайдеров, рекламных сетей, поставщиков чата и всего, что менеджер тегов накопил за годы. Каждый скрипт работает с теми же правами, что Ваш код: может читать страницу, наблюдать поля ввода и передавать данные на свои серверы. Это не значит, что все так делают. Но на странице, где посетители вводят имя, электронную почту и иногда сведения о здоровье, деньгах или правовых проблемах, Вы должны знать, кто ещё читает.

Обычные участники

  • Инструменты записи сеансов фиксируют клики, прокрутку и часто нажатия клавиш, чтобы позднее воспроизвести посещение. Если поля не маскируются, туда может попасть ввод в форму.
  • Рекламные и аналитические пиксели сообщают третьим лицам о просмотрах и конверсиях — на самой странице формы и очень часто на странице благодарности.
  • Виджеты чата загружают полноценное приложение с другого домена, обычно на каждой странице, включая страницу формы.
  • Менеджеры тегов позволяют маркетингу добавлять скрипты без развёртывания. Удобно, но это также означает появление кода на странице формы без чьей-либо проверки.
  • Малые помощники — A/B-тестирование, тепловые карты, социальные вставки, шрифты, карты — каждый добавляют хост, получающий как минимум IP-адрес посетителя и обычно адрес Вашего сайта; скрипты среди них также могут читать полный URL страницы.

Запись сеансов: записывающее устройство рядом с полем ввода

Большинство инструментов воспроизведения предлагает маскировать поля ввода или исключать целые области, а некоторые маскируют определённые поля по умолчанию. Слабые места — исключения: свободное текстовое поле сообщения, не охваченное стандартной настройкой, форма из компонентов, не распознаваемых правилами маскирования, или настройка, отключённая для отладки и не включённая обратно. Запись у третьего лица тогда может содержать именно то, что посетитель написал Вам, — то, чего он не ожидал и чего Ваша политика конфиденциальности, обязанная по ст. 13 GDPR указывать получателей или категории получателей персональных данных, может вовсе не упоминать.

Пиксели и страница благодарности

Отслеживанию конверсий нужен сигнал отправки формы, а страница благодарности — очевидное место его запуска. Большинство пикселей передаёт полный адрес страницы при каждом событии. Если форма отправляется через GET или перенаправление после отправки добавляет к URL значения вроде ?name=…&email=…, они прямо уходят поставщику рекламы или аналитики. Некоторые пиксели также предлагают автоматически извлекать адреса электронной почты или телефоны из форм для улучшения сопоставления. А если пиксель срабатывает до ответа посетителя на баннер cookie или после отказа, проблема уже не только техническая.

Как данные формы незаметно покидают сайт
1Посетитель печатает
Имя, электронная почта и сообщение попадают в поля формы.
2Скрипт воспроизведения записывает
Незамаскированные поля оказываются в записи на стороннем сервере.
3Перенаправление с параметрами
После отправки сайт перенаправляет на /thanks?email=…
4Пиксель срабатывает
Событие конверсии передаёт рекламной сети полный URL, включая адрес электронной почты.
5Данные уже снаружи
Теперь они у поставщиков, с которыми посетитель никогда не выбирал делиться ими.
Гипотетическая цепочка. Ни один отдельный шаг не является необычным.

Менеджеры тегов, согласие и цепочка поставок

Менеджеры тегов часто становятся местом потери общей картины. Тег кампании для выставки двухлетней давности, проба инструмента тепловой карты, пиксель сети, которой больше никто не пользуется, — всё это может по-прежнему загружаться на каждой странице, включая форму. Триггеры часто настроены на «все страницы», а правила согласия задаются по тегам, поэтому одного тега с отсутствующим условием достаточно для загрузки скрипта до согласия посетителя.

Затем есть цепочка поставок. Встраивая скрипт с другого хоста, Вы доверяете тому, кто контролирует этот хост сегодня и в будущем. Поставщик может изменить поведение скрипта, быть продан или столкнуться с компрометацией инфраструктуры доставки. Браузер не отличает легитимный скрипт от изменённого, поэтому внедрённый код на странице формы способен прочитать каждое поле и отправить куда угодно — та же схема используется для кражи данных на страницах оплаты.

Что Вы можете сделать

  1. 1Составьте перечень. Откройте каждую страницу формы и её страницу благодарности инструментами разработчика браузера, проверьте вкладку Network и перечислите все внешние хосты. Сделайте это без согласия и после принятия баннера.
  2. 2Уберите ненужное. Теги без ясного ответственного и цели — кандидаты на удаление. Ограничьте триггеры менеджера тегов так, чтобы на страницах форм работали только необходимые там теги.
  3. 3Маскируйте ввод в инструментах воспроизведения. Маскируйте все поля, не только пароли, и по возможности полностью исключите область формы. Затем посмотрите запись и проверьте, что реально сохранено.
  4. 4Передавайте конверсии без персональных данных. Отправляйте через POST, не помещайте значения формы в URL перенаправления и запускайте нейтральное событие вроде «contact_form_sent». Отключите автоматический сбор полей формы в пикселях.
  5. 5Загружайте только после согласия. Требующие согласия скрипты не должны загружаться до согласия посетителя и должны оставаться выключенными при отказе. Проверьте оба пути.
  6. 6Закрепляйте и ограничивайте, где возможно. Subresource Integrity (хеш на теге скрипта) заставляет браузер отклонять изменившийся статический файл; это не подходит для скриптов, меняющихся по замыслу, например менеджеров тегов. Content Security Policy ограничивает хосты, которым разрешено запускать скрипты; начните с режима только отчётов, чтобы увидеть, что сломалось бы.
  7. 7Следите за изменениями. Новый хост скрипта на странице формы должен быть осознанным решением, а не сюрпризом. Убедитесь, что получаете уведомление о его появлении.

formexposed проверяет срабатывающие на страницах форм пиксели отслеживания, возможность записи ввода инструментом воспроизведения сеансов и реальное прекращение отслеживания после отказа от баннера cookie — пассивно, ничего не отправляя. Бесплатная проверка показывает общий уровень; эти находки находятся в полном отчёте. При мониторинге подтверждённого домена formexposed также сообщает о новом хосте скрипта на странице формы.

Не юридическая консультация
Эта статья даёт общую информацию о технической стороне и защите данных при сторонних скриптах. Это не юридическая консультация. Необходимость согласия или описания конкретной конфигурации в политике конфиденциальности зависит от Вашей ситуации — при сомнениях обратитесь к специалисту по защите данных.