Как заставить браузер не хранить данные поля формы html?

При вводе в html-формах браузеры, такие как firefox или ie, сохраняют значения, иногда незаметно. Поэтому при вводе в другую веб-форму браузер разумно предлагает ту же информацию. Другой способ показать раскрывающийся список - это дважды щелкнуть пустое текстовое поле.

На веб-сайте электронной коммерции клиент вводит номер кредитной карты и другую конфиденциальную информацию. Как мне избежать или заблокировать браузер для хранения этой конфиденциальной информации?

Еще одно беспокойство вызывает подделка хранимых данных (например, вредоносным ПО). Затем клиент может выбрать эти зараженные данные и взломать сайт.

С Уважением.

Re: «Как мне избежать или заблокировать браузер, чтобы сохранить эту конфиденциальную информацию?» Не надо. Это не твое дело.

nobody 23.01.2009 06:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
9
2
15 210
6

Ответы 6

Попробуйте с атрибутом autocomplete = "off"

Он должен работать для одиночных элементов ввода:

<input type = "text" autocomplete = "off" name = "text1" />

или ко всей форме:

<form name = "form1" id = "form1" method = "post" autocomplete = "off"
  action = "http://www.example.com/action">
[...]
</form>

И специально для ASP .NET вы можете установить это так:

Форма WebForms:

<form id = "Form1" method = "post" runat = "server" autocomplete = "off">

Текстовые поля:

<asp:TextBox Runat = "server" ID = "Textbox1" autocomplete = "off"></asp:TextBox>

или во время выполнения:

Textbox1.Attributes.Add("autocomplete", "off");

См. Более подробное обсуждение здесь:

Как отключить автозаполнение в браузере в поле веб-формы / теге ввода?

Похоже, что autocomplete = "off" будет работать в некоторых случаях, но он не совместим с XHTML.

В поля ввода можно поставить:

autocomplete = "off"

как атрибут.

При этом сказано: НЕ ДЕЛАЙТЕ ЭТО.

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

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

В конечном счете, безопасность - это проблема пользователя и его прерогатива. Подавляющее большинство людей используют персональные или рабочие ПК, поэтому их вполне устраивает кэширование такой информации. Правильно настроенные общедоступные терминалы будут очищать данные формы при выходе пользователя из системы.

Так кому именно вы помогаете?

Это не должно быть отвергнуто. Тем не менее, что касается фразы о том, что «безопасность - это прерогатива пользователя», я думаю, что это не обязательно правильное отношение. Возможно, вы создаете бизнес-приложение, в котором одно из требований - запретить эти поля автозаполнения. Но иногда вы можете быть правы.

BobbyShaftoe 23.01.2009 09:26

Сказать, что безопасность - это проблема пользователя, зайти слишком далеко, но +1 в целом. Я ненавижу формы, которые отключают автозаполнение и / или используют нестандартные (читай «глупые») имена полей (например, «EmailAddy»).

Lawrence Dol 23.01.2009 09:45

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

Sam Hasler 23.01.2009 23:17

Это особенно важно для кода безопасности карты. На этой странице is.gd/gZVD говорится: «Никогда не храните код безопасности ... его значение зависит от предположения, что единственный способ предоставить его - это прочитать его с физической кредитной карты, чтобы доказать, что лицо, предоставившее его, действительно держит карту».

Sam Hasler 23.01.2009 23:26

Проблема в том, что если это общедоступный компьютер (интернет-кафе, библиотека и т. д.), Другие пользователи могут легко украсть данные вашей карты, и даже на вашем собственном компьютере вредоносный веб-сайт может украсть данные автозаполнения. См. webreflection.blogspot.com/2008/09/…

Sam Hasler 23.01.2009 23:36

Не согласен с cletus - разработчик несет ответственность за соблюдение правил индустрии кредитных карт. Я думаю, что раздражение пользователей - это приемлемые номера карт WRT + коды безопасности, потому что это помогает в соблюдении требований PCI. Часто пользователи являются самым слабым звеном в цепи безопасности!

Travis Leleu 16.03.2009 20:45

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

Mikko Rantalainen 19.02.2016 10:18

«С точки зрения удобства использования это ужасная идея». не имеет смысла. А как насчет полей, скажем, .. кодов аутентификации 2fa? Они всегда будут меняться, поэтому было бы неплохо отложить автозаполнение. То, чего не делают многие разработчики в этой ситуации. Так что это может быть отличной идеей в зависимости от того, когда вы ее используете.

JeroenE 03.10.2018 16:15

Как говорили другие, ответ - autocomple = "off"

Однако я думаю, что стоит заявить, что Зачем - это хорошая идея использовать это в определенных случаях, поскольку некоторые ответы на этот и дублировать вопросы предполагают, что лучше не отключать, если он выключен.

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

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

"Never store the security code ... its value depends on the presumption that the only way to supply it is to read it from the physical credit card, proving that the person supplying it actually holds the card."

Проблема в том, что если это общедоступный компьютер (интернет-кафе, библиотека и т. д.), Другие пользователи могут легко украсть данные вашей карты, и даже на вашем собственном компьютере вредоносный веб-сайт может украсть данные автозаполнения.

lol Мне нравится эта цитата - как будто я не могу вспомнить трехзначное число! но нет, не храните это! на самом деле это незаконно с точки зрения PCI.

Simon_Weaver 28.09.2011 06:03

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

Так что, если вы создадите интранет-систему, это будет нормально.

<input autocomplete = "new-password">

Это работает там, где "off" нет.

Другие вопросы по теме