Как мне сделать, чтобы браузер не хранить данные поля формы HTML? - PullRequest
8 голосов
/ 23 января 2009

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

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

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

Привет.

Ответы [ 5 ]

7 голосов
/ 23 января 2009

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

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

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

7 голосов
/ 23 января 2009

Попробуйте с атрибутом 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 вы можете установить его так:

Форма веб-форм:

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

Textboxes:

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

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

Textbox1.Attributes.Add("autocomplete", "off");
3 голосов
/ 02 февраля 2009

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

Так что, если вы строите систему интрасети, все будет в порядке.

2 голосов
/ 24 января 2009

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

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

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

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

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

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

0 голосов
/ 23 января 2009

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

autocomplete="off"

как атрибут.

Как говорится: НЕ ДЕЛАЙТЕ ЭТОГО.

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

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

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

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

...