Реальная проблема гораздо глубже, чем просто добавление атрибутов в ваш HTML - это общая проблема безопасности, поэтому люди изобрели аппаратные ключи и другие сумасшедшие вещи для безопасности.
Представьте, что у вас есть autocomplete = "off", отлично работающий во всех браузерах. Это поможет с безопасностью? Конечно же нет. Пользователи будут записывать свои пароли в учебниках, на наклейках, прикрепленных к монитору, где их может увидеть каждый посетитель офиса, сохранять их в текстовые файлы на рабочем столе и т. Д.
Как правило, веб-приложение и веб-разработчик не несут никакой ответственности за безопасность конечного пользователя. Конечные пользователи могут защитить только себя. В идеале они ДОЛЖНЫ хранить все пароли в своей голове и использовать функцию сброса пароля (или связаться с администратором) на случай, если они забудут об этом. В противном случае всегда будет риск, что пароль каким-то образом увидят и украдут.
Так что либо у вас есть какая-то сумасшедшая политика безопасности с аппаратными ключами (например, некоторые банки предлагают для интернет-банкинга, которая в основном использует двухфакторную аутентификацию), либо НЕТ БЕЗОПАСНОСТИ в принципе. Ну, это, конечно, немного преувеличено. Важно понять, от чего вы пытаетесь защитить:
- Несанкционированный доступ. Простая форма входа в систему достаточно в принципе. Иногда принимаются дополнительные меры, такие как случайные вопросы безопасности, CAPTCHA, защита паролем и т. Д.
- Проверка учетных данных. HTTPS ОБЯЗАН, если люди получают доступ к вашему веб-приложению из общедоступных точек доступа Wi-Fi и т. Д. Отметьте, что даже имея HTTPS, ваши пользователи должны регулярно менять свои пароли.
- Инсайдерская атака. Существует два таких примера, начиная от простого кражи ваших паролей из браузера или тех, которые вы записали где-то на столе (не требует никаких навыков в области ИТ) и заканчивая подделкой сеансов и перехватом трафика локальной сети (даже зашифрованного) и дальнейший доступ к веб-приложению, как будто это был другой конечный пользователь.
В этом конкретном посте я вижу неадекватные требования, предъявляемые к разработчику, которые он никогда не сможет решить из-за характера проблемы - безопасности конечного пользователя. Моя субъективная точка зрения заключается в том, что разработчик должен сказать «НЕТ» и указать на проблему требований, а не тратить время на такие задачи, если честно. Это не обязательно делает вашу систему более безопасной, скорее это приведет к случаям с наклейками на мониторах. К сожалению, некоторые боссы слышат только то, что хотят услышать. Однако, если бы я был вами, я бы попытался объяснить, откуда возникла настоящая проблема, и что autocomplete = "off" не решит ее, если только это не заставит пользователей хранить все свои пароли исключительно в своей голове! Разработчик, в свою очередь, не может полностью защитить пользователей, пользователям необходимо знать, как пользоваться системой, и в то же время не раскрывать свою конфиденциальную / защищенную информацию, и это выходит далеко за рамки аутентификации.