Как адрес оказывается в поле, которого не видно

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

Нечестная страница способна добавить к обычной форме дополнительные поля и скрыть их стилями — например, увести за пределы экрана или сделать прозрачными. Если браузер сочтёт такие поля адресными, он может поместить в них сохранённые данные, хотя посетитель не видит, куда именно они попали.

Почему данные можно прочитать до отправки

После заполнения значение находится в структуре страницы — в модели документа, с которой работает браузер. Сценарий JavaScript на этой же странице может прочитать содержимое доступных ему полей. Для этого не обязательно нажимать «Отправить»: код может передать данные сайту сразу, например отдельным сетевым запросом.

Риск зависит от браузера, его настроек и устройства формы. Автозаполнение не обязано срабатывать на каждом скрытом поле, а современные браузеры могут ограничивать подозрительное поведение. Но если данные уже попали в поле, сама невидимость не делает их недоступными для кода страницы.

Что снижает риск

Не сохраняйте в браузере сведения, которые не хотите автоматически подставлять на незнакомых сайтах, и проверяйте адрес страницы перед заполнением. Если форма неожиданно предлагает сразу много личных данных, лучше не подтверждать автозаполнение. Главная ловушка в том, что утечка может произойти между распознаванием формы и нажатием кнопки — то есть раньше привычного момента отправки.