【发布时间】:2017-11-26 01:35:27
【问题描述】:
为了解决 IE 中的缓存问题,我使用 [ResponseCache(Location = ResponseCacheLocation.None, NoStore = true)] 装饰了我的控制器
查看浏览器开发人员工具中的响应标头时,我注意到我的一些控制器操作响应符合预期 缓存控制:无存储,无缓存
但其他人没有。这让我发疯了,经过一番挖掘后,我在 msdn 文档 中找到了解释 https://docs.microsoft.com/en-us/aspnet/core/performance/caching/middleware
所以我尝试使用 asp-antiforgery="false" 属性在我的表单中禁用 CSRF 保护,果然 no-store 指令已添加到我的响应标头中。
所以我的问题是:有什么方法可以在不牺牲安全性的情况下通过禁用我的表单中的 CSRF 保护来实现这一点?仅仅为了防止 IE 缓存我的页面而必须禁用它肯定是不对的。
提前感谢您能给我的任何帮助/建议!
【问题讨论】:
标签: internet-explorer caching asp.net-core http-headers asp.net-core-mvc