Запретить значения формы кэширования браузера в.NET Core 2.2
Веб-приложение ASP.net Core 2.2 MVC
У меня есть несколько форм, в которых я НЕ хочу, чтобы браузер кэшировал / отображал любые ранее введенные данные, когда пользователь возвращается на страницу. Я хочу, чтобы элементы / форма НЕ кэшировали какую-либо информацию. Я не просто хочу, чтобы браузер не показывал ранее введенную информацию, я хочу, чтобы она не кэшировалась по соображениям безопасности.
Я попытался украсить метод контроллера:
[ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)]
безрезультатно, когда я снова перехожу на страницу / форму и начинаю печатать, ранее введенные значения продолжают отображаться как опции автозаполнения.
Я попробовал поиграть с каждым нюансом этого: промежуточное ПО для кэширования ответов в ASP.NET Core
Как это делается для всех браузеров в настоящее время?
2 ответа
Похоже, это вызвано функцией автозаполнения браузера:
По умолчанию браузеры запоминают информацию, которую пользователь отправляет через поля на веб-сайтах. Это позволяет браузеру предлагать автозаполнение (то есть предлагать возможные дополнения для полей, в которые пользователь начал вводить данные) или автозаполнение (то есть предварительно заполнять определенные поля при загрузке).
Чтобы отключить эту функцию для формы:
<form autocomplete="off">
...
</form>
Или отключите поле:
<input ... autocomplete="off">
Вот подробное объяснение off
Ключевое слово "off" указывает либо на то, что входные данные элемента управления особенно чувствительны (например, код активации для ядерного оружия); или что это значение никогда не будет использоваться повторно (например, одноразовый ключ для входа в банк), и поэтому пользователю придется каждый раз явно вводить данные, вместо того чтобы полагаться на агента пользователя для введите значение для него; или что документ предоставляет собственный механизм автозаполнения и не хочет, чтобы пользовательский агент предоставлял значения автозаполнения.
Для получения более подробной информации смотрите как отключить автозаполнение на MDN и w3c.org.
Надеюсь, поможет.
Вы можете использовать autocomplete="off" для html-элементов, но chrome запрещает это для некоторых имен, таких как "name", "address" и т. Д.
Эта тема обсуждалась ранее. Chrome игнорирует автозаполнение = "выкл"