首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >防止.NET Core2.2中的浏览器缓存表单值

防止.NET Core2.2中的浏览器缓存表单值
EN

Stack Overflow用户
提问于 2019-05-13 01:14:06
回答 2查看 1.8K关注 0票数 0

ASP.net Core2.2MVC网络应用程序

我有许多表单,当用户返回页面时,我不希望浏览器缓存/显示以前输入的任何数据。我希望元素/表单不缓存任何信息。我不想简单地让浏览器不显示以前输入的信息,我希望它不被缓存,因为安全原因。

我尝试用以下方法来装饰控制器方法:

代码语言:javascript
复制
[ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)]

没有效果,当我再次导航到页/窗体并开始键入时,以前输入的值一直显示为自动完成选项。

我也试过玩这其中的每一个细微之处:ASP.NET内核中的响应缓存中间件

现在所有的浏览器都是如何做到这一点的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-13 02:40:11

听起来它是由浏览器的自动完成特性引起的:

默认情况下,浏览器记住用户通过网站上的字段提交的信息。这使浏览器能够提供自动完成(即,建议用户已开始键入的字段可能完成)或自动填充(即在加载时预先填充某些字段)。

若要对窗体禁用此功能,请执行以下操作:

代码语言:javascript
复制
<form autocomplete="off">
    ... 
</form>

或禁用字段:

代码语言:javascript
复制
<input ... autocomplete="off">

下面是关于off的详细说明

"off“关键字表示控件的输入数据特别敏感(例如核武器的激活代码);或者它是一个永远不会被重用的值(例如,银行登录的一次性键),因此用户每次都必须显式地输入数据,而不是依赖用户代理为他预先填充值;或者文档提供了自己的自动完成机制,并且不希望用户代理提供自动完成值。

有关详细信息,请参阅如何禁用MDN上的自动完成w3c.org

希望能帮上忙。

票数 2
EN

Stack Overflow用户

发布于 2019-05-13 07:56:29

您可以对html元素使用autocomplete="off“,但是对于诸如”名称“、”地址“等名称,铬可以防止这一点。

此前曾讨论过这一专题。Chrome忽略autocomplete=“关闭”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56104768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档