Отключаем автозаполнение формы HTML: безопасно и валидно

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для отключения автозаполнения в форме, присвойте атрибут autocomplete="off" элементам <input>. Чтобы усилить защиту конфиденциальных данных, например, в полях ввода паролей, рекомендуется при каждой загрузке формы генерировать новое значение атрибута name.

HTML
Скопировать код
<input type="text" autocomplete="off"> <!-- Тут автозаполнение не сработает! -->
<input type="password" name="pw_field_{{random_string}}" autocomplete="off">  <!-- Удачи с запоминанием пароля! -->

Тем не менее, запомните, что некоторые браузеры могут проигнорировать эту настройку в целях повышения комфорта пользования.

Кинга Идем в IT: пошаговый план для смены профессии

Балансировка между безопасностью и стандартами

Хотя стандартам W3C следует уделять достаточное внимание, не позволяйте им мешать вам обеспечивать соответствующую безопасность. Когда речь идет о работе с конфиденциальными данными, безопасность всегда должна быть на первом месте.

Браузеры и HTTPS: скрытое преимущество

Вы, возможно, заметили, что некоторые браузеры автоматически отключают автозаполнение на веб-сайтах, использующих протокол HTTPS. Это скорее приятный бонус, нежели правило.

Программирование автозаполнения: JavaScript придет на помощь

Если вам необходимо убедиться, что автозаполнение отключено во всех браузерах, используйте JavaScript для динамического добавления атрибута autocomplete="off" при загрузке формы.

Рандомизация имен полей: безопасность через случайность

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

Даже Amazon это делает: успешные примеры использования

Ищете вдохновения? Обратите внимание на Amazon: они успешно используют autocomplete в своих формах. Если это подходит для такого масштаба, вероятно, и вам это будет полезно.

Пользовательский опыт: баланс в дизайне

Отключение автозаполнения может усилить безопасность, но также может повлиять на удобство использования. Необходимо найти золотую середину, однако в случае сомнений отдавайте предпочтение безопасности.

Важные регуляции: соответствие требованиям закона

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

Предупреждения W3C и выбор между ними

Иногда наступают моменты, когда нужно спокойно относиться к предложениям и продолжать работу, несмотря ни на что. Другими словами, можно игнорировать замечания ради повышения безопасности.

Визуализация

Представьте вашу форму как дом, где каждое поле ввода – это дверь.

До отключения автозаполнения:🏠🚪🔓 — Дверь открыта, свободный доступ для всех.

После отключения автозаполнения:🏠🚪🔐 — Дверь закрыта, быстрый доступ недоступен.

Использование autocomplete="off" можно сравнить с нажатием огромной кнопки блокировки. Но будьте внимательны, некоторые браузеры могут попытаться "взломать" эту блокировку.

Полезные материалы

  1. Стандарт HTML — официальная спецификация autocomplete.
  2. Атрибут автозаполнения input на W3Schools — понятное руководство по использованию autocomplete.
  3. Атрибут HTML: autocomplete – MDN — подробное пояснение атрибута autocomplete от Mozilla.
  4. Chrome игнорирует autocomplete="off" — обсуждение на Stack Overflow о подходах различных браузеров к autocomplete.
  5. Отключение автозаполнения для input | CSS-Tricks — советы по отключению автозаполнения с CSS-Tricks.
  6. Плейсхолдеры в полях форм – вредная практика — статья группы Nielsen Norman о плейсхолдерах и их влиянии на пользовательский опыт и autocomplete.
  7. Создание доступных форм – WebAIM — рекомендации по созданию доступных форм, а также о значении autocomplete в этом контексте.