Гид по технологиям

Разрешить сохранение пароля на сайтах с autocomplete="off"

7 min read Безопасность Обновлено 01 Dec 2025
Разрешить сохранение пароля на сайтах
Разрешить сохранение пароля на сайтах

Схема: галочка автозаполнения и замок

Быстрые ссылки

  • Почему некоторые сайты не разрешают сохранение пароля?

  • Исправление: простой JavaScript-функция

  • Исходный код JavaScript

Введение

Если вы используете встроенный менеджер паролей в браузере (или думаете об этом после недавних случаев с облачными менеджерами), вы наверняка встречали сайты, которые не дают браузеру сохранить пароль. Причина — в том, что атрибут HTML autocomplete установлен в “off” для форм или полей ввода. Ниже объяснено, как это исправить локально, без передачи паролей в облако.

Важное: если вы используете сторонние менеджеры паролей (например, облачные сервисы), у них часто есть встроенные способы обхода подобных ограничений. Эта инструкция для тех, кто предпочитает хранить пароли в браузере и управлять ими локально.

Почему некоторые сайты не позволяют сохранить пароль?

Короткий ответ: атрибут autocomplete=”off” у элементов form или input. История: этот атрибут появился ещё в Internet Explorer 5 и используется для отключения автозаполнения для конкретного поля или формы. В результате браузеры игнорируют такие поля при сохранении паролей.

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

Скриншот входа на сайт с отключённым автозаполнением пароля

Краткое определение: autocomplete — атрибут HTML, задающий, должен ли браузер предлагать автозаполнение для поля ввода.

Исправление: простая JavaScript-функция

Идея простая: с помощью JavaScript получить все формы и их элементы на странице, найти атрибуты autocomplete и поменять их значение на “on”. Это можно выполнить как bookmarklet (закладку с JavaScript), чтобы одним кликом изменить поведение страницы прямо в браузере.

Ниже встраиваемый объект (раньше — ссылка/закладка). Вы можете перетащить ссылку в панель закладок или создать закладку вручную с указанным URL-источником.

| Разрешить сохранение пароля |

Если предыдущая ссылка не работает, создайте закладку и используйте следующий URL как источник:

| javascript:(function(){var%20ac,c,f,fa,fe,fea,x,y,z;ac=”autocomplete”;c=0;f=document.forms;for(x=0;x

Примечание: URL в таблице — закодированная версия JavaScript, которую браузер выполняет при клике по закладке. Не удаляйте и не изменяйте код, если не уверены в последствиях.

Как это работает: коротко о механике

Браузер строит DOM (Document Object Model) страницы. Скрипт перебирает document.forms и их элементов, проверяет атрибут name для каждого атрибута и сравнивает с “autocomplete”. Когда находит соответствие, он присваивает value=”on”. После обработки всплывает уведомление с пометкой, на скольких объектах сменён атрибут.

Плюсы метода: локальный, быстрый, не требует прав администратора и не передаёт ваши данные третьим сторонам. Минусы и ограничения — зависят от поведения конкретного браузера и целевого сайта (см. раздел Совместимость).

Совместимость и ограничения

  • Firefox: метод работает и в современных версиях ведёт себя предсказуемо. После применения скрипта при следующем логине браузер предложит сохранить пароль; автозаполнение пароля может сработать только после перевода фокуса на поле имени пользователя.

  • Internet Explorer (IE9 и старые): требуется повторный запуск скрипта при следующем посещении страницы; поведение схожее с Firefox по этапу фокусировки.

  • Chrome: в наших тестах скрипт мог изменить атрибуты (и показывал сообщение об успехе), но фактическое автосохранение/автозаполнение пароля не всегда срабатывало — поведение зависит от версии Chrome и внутренних алгоритмов безопасности.

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

Контрпример: если поле пароля генерируется динамически после загрузки страницы (через JS), нужно запускать bookmarklet уже после появления поля или прогона скрипта снова.

Использование: пошагово

Для Firefox

  1. Создайте закладку в панели или правой кнопкой по панели -> Новая закладка.
  2. Вставьте в поле URL текст из таблицы с javascript:… (код закодирован в формате data-URL).
  3. Посетите страницу входа, где сохранение пароля запрещено.
  4. Нажмите созданную закладку — появится уведомление о количестве изменённых атрибутов.
  5. Введите логин и пароль и войдите; браузер предложит сохранить пароль.
  6. При следующем посещении поле имени пользователя автоматически заполнится; чтобы автозаполнился пароль, поместите фокус в поле имени пользователя (клик или Ctrl+Tab), затем переведите фокус далее — пароль должен автозаполниться.

Для Internet Explorer

  1. Создайте закладку (избранное) и вставьте тот же URL в качестве адреса.
  2. Посетите страницу входа и запустите закладку.
  3. Вы увидите уведомление об изменении атрибутов, введите данные и войдите; при запросе сохранения пароля подтвердите.
  4. При следующем визите поле пользователя заполнится автоматически, но пароль — нет; запустите скрипт ещё раз, затем поместите фокус в поле логина и выйдите из него (Tab или клик), чтобы пароль заполнился автоматически.

Совет: если поле не появляется сразу, обновите страницу и запустите скрипт после завершения загрузки всех динамических элементов.

JavaScript: красиво форматированный исходный код

function() {
   var ac, c, f, fa, fe, fea, x, y, z;
   // ac = autocomplete constant (attribute to search for)
   // c = count of the number of times the autocomplete constant was found
   // f = all forms on the current page
   // fa = attributes in the current form
   // fe = elements in the current form
   // fea = attributes in the current form element
   // x,y,z = loop variables

   ac = "autocomplete";
   c = 0;
   f = document.forms;

   // cycle through each form
   for(x = 0; x < f.length; x++) {
      fa = f[x].attributes;
      // cycle through each attribute in the form
      for(y = 0; y < fa.length; y++) {
         // check for autocomplete in the form attribute
         if(fa[y].name.toLowerCase() == ac) {
            fa[y].value = "on";
            c++;
         }
      }

      fe = f[x].elements;
      // cycle through each element in the form
      for(y = 0; y < fe.length; y++) {
         fea = fe[y].attributes;
         // cycle through each attribute in the element
         for(z = 0; z < fea.length; z++) {
            // check for autocomplete in the element attribute
            if(fea[z].name.toLowerCase() == ac) {
               fea[z].value = "on";
               c++;
            }
         }
      }
   }

   alert("Enabled '" + ac + "' on " + c + " objects.");
}

Безопасность и приватность

  • Никогда не вставляйте сторонний непроверенный JavaScript в закладки или консоль на страницах, которым вы не доверяете. Скрипты могут похитить вводимые данные.

  • Этот метод локально меняет атрибуты страницы и не отправляет данные на внешние сервера. Тем не менее, запуск скрипта на зловредном сайте может привести к непредсказуемым результатам.

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

Альтернативные подходы

  • Использовать сторонний менеджер паролей (LastPass, 1Password, Bitwarden и т.д.), многие из которых имеют расширения, умеющие вставлять пароли, несмотря на autocomplete=”off”.

  • Если вы владеете сайтом или являетесь разработчиком: не отключайте autocomplete для стандартных полей логина/пароля. Современные браузеры и менеджеры паролей безопасно работают с ними.

  • Для разработчиков: применяйте стандарты HTML (например, autocomplete=”username” и autocomplete=”current-password”), чтобы помочь менеджерам паролей корректно распознавать поля.

Роль-ориентированные контрольные списки

  • Пользователь (конечный):

    • Создать локальную закладку с кодом bookmarklet.
    • Запускать её только на доверенных сайтах.
    • Проверять появление окна сохранения пароля после входа.
  • Администратор безопасности:

    • Разработать рекомендованную политику хранения паролей.
    • Инструктировать сотрудников о рисках запуска сторонних скриптов.
    • Предложить централизованное решение для корпоративных аккаунтов.
  • Веб-разработчик:

    • Не отключать autocomplete для полей авторизации без веской причины.
    • Указывать правильные значения autocomplete (username, current-password).
    • Тестировать работу менеджеров паролей на сайтах.

Критерии приёмки

  • При запуске bookmarklet на странице входа всплывает уведомление с количеством обновлённых атрибутов.
  • После входа браузер предлагает сохранить пароль (если политика браузера это позволяет).
  • При повторном визите поле логина автоматически заполняется; перевод фокуса должен приводить к автозаполнению пароля.
  • Скрипт не ломает функциональность формы (тестирование на нескольких страницах входа).

Тесты / случаи использования

  • Тест 1: Статическая HTML-форма с autocomplete=”off” — ожидаемый результат: скрипт меняет атрибуты, браузер сохраняет пароль.
  • Тест 2: Динамически создаваемая форма (через AJAX) — действие: запустить скрипт после загрузки формы.
  • Тест 3: Страница с нестандартными именами полей — действие: проверить, распознал ли браузер поля как логин/пароль.
  • Тест 4: Chrome — проверка: возможна непредсказуемость; фикс не гарантирован.

Когда этот способ не сработает

  • Сайт использует нестандартные/зашифрованные элементы ввода, которые не являются HTML input.
  • Браузер намеренно игнорирует изменение атрибута autocomplete по соображениям безопасности.
  • Строгие корпоративные политики или расширения блокируют выполнение закладок с JavaScript.

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

Краткое резюме

  • Проблема: сайты отключают автозаполнение паролей через autocomplete=”off”.
  • Решение: bookmarklet, который меняет значение атрибута на “on” для форм и элементов.
  • Ограничения: зависит от браузера и от реализации сайта; Chrome может игнорировать изменение.
  • Безопасность: запускать только на доверенных сайтах; рассмотрите сторонние менеджеры паролей как более устойчивую альтернативу.

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

Диаграмма: порядок действий — создать закладку, запустить, сохранить пароль

Пример уведомления об изменении атрибутов на странице

Пример результата: подтверждение изменений autocomplete


Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как удалить Facebook и не потерять людей
Социальные сети

Как удалить Facebook и не потерять людей

Ошибка 0x80072EFD в Windows 10 — как исправить
Windows 10

Ошибка 0x80072EFD в Windows 10 — как исправить

Включить блокировщик рекламы в Edge на Android
Руководство

Включить блокировщик рекламы в Edge на Android

Minecraft Launcher не запускается в Windows 11 — как исправить
Игры

Minecraft Launcher не запускается в Windows 11 — как исправить

Исправить подёргивание мыши в Valorant
Игры

Исправить подёргивание мыши в Valorant

Как увидеть устройства, вошедшие в ваш аккаунт Facebook
Безопасность

Как увидеть устройства, вошедшие в ваш аккаунт Facebook