Защита данных
Как проверить, кто читает форму сайта до отправки
Пока пользователь заполняет форму, аналитические скрипты могут читать введённые данные поле за полем - до нажатия кнопки «Отправить».

Ваш потенциальный клиент открыл лендинг, начал вводить телефон в форму заявки и отвлёкся. Форму не отправил - просто закрыл вкладку. Вы видите в аналитике: «незавершённое заполнение формы». Но кто видит сам телефон?
Это вполне реальный сценарий - и работает он через стандартные инструменты, которые прямо сейчас стоят на тысячах лендингов. Речь об утечке персональных данных - причём легальной с точки зрения тех, кто разместил скрипт.
Что происходит с формой до клика «Отправить»?
Коротко: браузер позволяет любому JavaScript-коду читать значения полей формы в реальном времени. Сторонние скрипты используют это штатно.
Форма - это HTML-элемент. Браузер хранит его в так называемом дереве DOM (Document Object Model). Любой JavaScript-код, загруженный на страницу, может обратиться к этому дереву и прочитать текущее значение любого поля:
javascript
document.querySelector('input[name="phone"]').value
Одна строка. Этого достаточно, чтобы получить телефон, который пользователь уже набрал, но ещё не отправил.
Так работают и сами сайты - например, чтобы убрать форматирование или подсветить ошибку до отправки. Но ровно тот же механизм доступен сторонним скриптам, загруженным с чужих серверов.
Кнопка «Отправить» нужна, чтобы ваш сервер получил данные. До этого момента данные живут в браузере пользователя. И в том же браузере работает несколько скриптов, которые могут их читать.
Какие скрипты видят поля формы в реальном времени?
Коротко: инструменты записи сессий, аналитика, чат-виджеты - всё это запускается в браузере с полным доступом к DOM.
Когда вы добавляете на лендинг сторонний скрипт - любой, - вы даёте ему доступ к вашей странице. Именно к тому, что видит пользователь в браузере: к форме, к кнопкам, к введённым данным. Сервер тут ни при чём.
Вот какие категории инструментов это делают:
Инструменты записи сессий. Их задача - записывать, как пользователь двигает мышью, куда кликает, что вводит. Многие из них по умолчанию перехватывают ввод в формах. У серьёзных провайдеров есть опция маскировки полей - но её нужно включать отдельно, она не работает из коробки.
Аналитические пиксели. Пиксели соцсетей и рекламных платформ умеют передавать события - в том числе заполнение формы. Часть из них настроена так, что «событие» включает введённые данные.
Чат-виджеты. Чтобы показать оператору контекст разговора, некоторые виджеты мониторят активность на странице, включая поля формы.
A/B-тестировщики и попап-инструменты. Видят форму как часть страницы, могут логировать взаимодействия.
Перечисленные сервисы - легальные, платные инструменты. Просто у каждого есть доступ к DOM вашей страницы, и каждый использует его по своему усмотрению, которое может не совпадать с вашим.
Какие данные они читают: телефон, email, имя
Коротко: всё, что пользователь набрал в полях формы, включая данные, которые он передумал отправлять.
Диапазон того, что может попасть к стороннему скрипту:
- Телефон, который пользователь ввёл и стёр
- Email, набранный до того, как человек закрыл страницу
- Имя из первого поля, если он дошёл только до него
- Данные компании, ИНН, город - если форма многоступенчатая
Особенно интересен сценарий «незавершённой формы»: пользователь начал вводить данные, отвлёкся или передумал. Для вас это просто «отказ». Но если скрипт перехватывает события ввода - данные у него уже есть.
Академическое исследование, опубликованное в 2022 году группой из Radboud University (Нидерланды), проверило крупнейшие сайты мира. Часть из них передавала на сторонние серверы email-адреса пользователей до того, как форма была отправлена. В некоторых случаях это происходило при каждом нажатии клавиши.
Чем это опасно для вашего бизнеса?
Коротко: лиды, за которые вы заплатили рекламой, могут уходить к третьим лицам - через скрипты, которые вы сами поставили на свой сайт.
Вы тратите деньги на рекламу. Приводите людей на лендинг. Они начинают заполнять форму - и в этот момент данные уходят к провайдеру аналитики, виджета или пикселя.
Провайдер - это компания со своими клиентами, партнёрами, базами данных. Что происходит с данными дальше - зависит от его политики, которую вы, скорее всего, не читали при подключении.
Второй риск - правовой. По 152-ФЗ «О персональных данных», оператор обязан получить согласие субъекта до начала обработки. Подробно о том, как данные утекают через сторонние сервисы и какова ответственность за это, написано в материале «Как данные сотрудников утекают через сторонние сервисы». Если сторонний скрипт считывает персональные данные пользователей вашего сайта - кто за это отвечает? Вы разместили скрипт. Значит, вы дали ему доступ. Отвечаете вы.
Третий риск - конкурентный. Сервисы аналитики и маркетинговые платформы работают с тысячами клиентов в одной нише. Данные пользователей, собранные с вашего лендинга, теоретически могут попасть в выборки, доступные конкурентам через те же инструменты.
Как это связано с конкурентами и перехватом лидов
Коротко: тот, кто знает про перехват данных с чужих сайтов, понимает - его собственный сайт открыт для того же.
Есть система мышления: «меч» и «щит». Если вы знаете, что существуют инструменты, которые могут снять данные с лендинга конкурента - логично спросить: а не читают ли прямо сейчас мои данные?
Ответ - читают. Не обязательно конкуренты напрямую. Но скрипты, которые вы поставили сами, делают это каждый день.
Разница между внешней атакой и внутренним скриптом: внешнего злоумышленника можно остановить на уровне сервера. Скрипт, который вы сами разместили на странице, - уже внутри. Он уже в браузере пользователя. Он уже видит форму.
По данным StopParsing, одна из самых недооценённых точек утечки данных - именно скрипты, которые бизнес ставит сам: аналитика, виджеты, пиксели. Закрыть сайт от внешнего сбора и при этом оставить внутри код с полным доступом к данным - это полузащита.
Защита периметра начинается с аудита. С понимания, что именно загружается в браузер пользователя вместе с вашей страницей.
Как проверить, что стоит на вашем лендинге
Коротко: за 5 минут в DevTools можно увидеть, какие скрипты загружаются и куда уходят данные в процессе заполнения формы.
Это можно сделать без специальных инструментов, прямо в браузере.
Шаг 1. Открыть DevTools.
В Chrome или Firefox: F12 или Ctrl+Shift+I. Перейти на вкладку Network.
Шаг 2. Установить фильтр.
В поле Filter выбрать XHR или Fetch - это типы запросов, через которые JavaScript отправляет данные на сторонние серверы.
Шаг 3. Начать заполнять форму, НЕ нажимая Submit.
Введите телефон, email, имя. Смотрите на вкладку Network.
Шаг 4. Посмотреть, что появилось.
Если при вводе данных в поля формы в Network появляются новые запросы к внешним доменам - данные уходят в процессе заполнения. Кликните на запрос, посмотрите, что именно в нём передаётся.
Дополнительно: вкладка Sources покажет все загруженные JS-файлы. Домены вида mc.yandex.ru, pixel.facebook.com, jivosite.com, api.callibri.ru и другие - это сторонние скрипты. У каждого есть свои возможности доступа к данным страницы.
Расширения браузера - Privacy Badger, uBlock Origin в режиме developer - покажут исходящие запросы в читаемом виде.
Что делать, если нашли нежелательные скрипты
Коротко: минимизировать список сторонних скриптов, проверить настройки каждого, закрыть периметр.
Найденные скрипты делятся на три категории.
Нужные с правильными настройками. Яндекс.Метрика, например, умеет не записывать данные полей форм - соответствующая настройка есть в интерфейсе. Если скрипт нужен, но собирает лишнее - настройте его.
Нужные, но без настроек маскировки. Если инструмент записи сессий не предоставляет опцию исключить поля форм из записи - это сигнал к замене на аналог, который такую опцию даёт.
Ненужные. Скрипты, которые подключались «на всякий случай» и давно не используются. Их удалить - без потерь.
Второй шаг - проверить форму технически. Поля с персональными данными (телефон, email, ИНН) - это данные, которые попадают под 152-ФЗ. Они должны передаваться по HTTPS и только туда, куда вы намеренно их направляете.
Третий шаг - аудит периметра. Посмотреть, что вообще видно снаружи: какие данные собираемы с ваших страниц системами сбора, которые работают в рынке. StopParsing делает именно это - показывает, что доступно с вашего сайта инструментам перехвата, и закрывает каналы, которые вы не планировали открывать.
Сервис работает в правовом поле 152-ФЗ. Защита - только ваших данных, только ваших сайтов. Оценка объёма и стоимость - по результатам бесплатного аудита, без фиксированных пакетов вслепую.
Источники
- W3C DOM Living Standard - спецификация браузерного API, описывающая доступ к элементам страницы: dom.spec.whatwg.org
- Radboud University Nijmegen, 2022: «No Boundaries: Exfiltration of Personal Data by Session-Replay and Fingerprinting Scripts» - академическое исследование передачи данных форм сторонними скриптами
- OWASP (Open Web Application Security Project) - рекомендации по безопасности веб-приложений, раздел о сторонних зависимостях: owasp.org/www-project-top-ten
- Федеральный закон №152-ФЗ «О персональных данных» - требования к обработке и согласию субъектов: consultant.ru
- StopParsing.ru - информация о методах защиты периметра от систем сбора данных
Цифры и формулировки - из практики и базы знаний LEADLIFE. Кейсы отражают результаты конкретных клиентов и не являются гарантией аналогичного результата.
Посчитаем, сколько клиентов вы теряете
Разбор под вашу нишу: сегменты, цена контакта, что делает отдел продаж. Без обязательств.
Получить расчёт и подарокЧитать дальше
Что конкурент бесплатно узнаёт о посетителе вашего сайта
Посетитель изучил ваш сайт и ушёл подумать. Конкурент уже знает, что он там был - и звонит ему первым. Разбираем, как работает такой сбор данных и почему нужна защита от сбора данных ещё до утечки.
ЧитатьОтдел продажКак не сжечь горячий лид на первом звонке
Лид «протухает» за час, а кто перезвонил первым - тот и забрал клиента. Разбираем, что убивает конверсию на первом контакте и когда нужен внешний колл-центр.
ЧитатьЗащита данныхМеч и щит: зачем B2B нужны оба - и перехват, и защита от него
Если вы перехватываете клиентов конкурентов, ваш трафик и контакты тоже снимают. Разбираем, почему нужны и меч, и щит - и с чего начинать.
Читать