在 MVC 中将敏感数据从页面传递到页面的最佳方法是什么 ASP.NET
本文关键字:最佳 方法 NET ASP 是什么 MVC 敏感数据 | 更新日期: 2023-09-27 18:33:40
我正在设计一个 Web 应用程序,该应用程序必须在页面之间传递敏感信息(如用户的帐号(,直到用户完成(应用程序就像一个向导(,用于日志记录目的。存储此数据以便流程中的每个页面都可以访问数据的最佳方法是什么?我应该将其存储在会话中吗?在数据库中,然后在最后删除它?一些我还没有想到的方法?
我个人尽量避免使用该会话。 以下是我在处理向导类型方案时所知道的选项:
选项 1
按照Nadeem Afana博客中的讨论使用JQuery。 页面将逐个显示给用户,但信息直到最后一页才会提交。
选项 2
每个页面上的信息都是敏感的吗? 是否可以将其结构化为仅在最后一页上要求提供敏感信息? 如果是这样,您可以像 Darin Dimitrovs 回答中讨论的那样跨页面序列化数据,只是不在最后一页上提供后退按钮。 或者,序列化的数据可以使用相同的MVC Futures序列化软件轻松加密,尽管我不确定您的信息有多敏感以及您是否要依赖它。 答案还提到了诸如Stepy之类的替代品,但我对此没有经验。
选项 3
如果信息是敏感的,您可以在请求之间将信息写入/读取到数据库。
选项 4
最后,如果您不能使用上述任何一项,那么我会使用会话或 TempData(它是会话的包装器(,但请注意,对于 TempData,如果用户刷新页面,那么信息将丢失。
听起来不错,它(几乎(自动消失。
如果你是偏执狂,那么你可以加密它或将其存储在其他地方,并通过哈希找到它。 那么这个"别的地方"是你的下一个储蓄点——?
只需确保它不会到达 Web 客户端即可。