asp.net-mvc-3 - MVC3-在ViewBag中放入敏感信息

原文 标签 asp.net-mvc-3

在ViewBag中放入敏感信息(用户ID,连接字符串,我可能不希望其他用户看到的东西)是个坏主意吗?外部用户可以通过任何方式获取该信息吗?

我的想法是不,他们无法实现(我尝试过,不是说我在LulzSec中),但我对其他人的想法感到好奇。

提前致谢!

最佳答案

ViewBag是基于会话的,它仅基于CURRENT请求,因此具有与会话相同的约束,并具有在会话结束时被删除的附加好处,因此不能-无法访问。即使有人可以窃取您的会话ID并劫持该会话,viewdata也将消失。

TempData是另一回事,会话劫持将允许用户劫持另一个会话-因此,在tempdata中,除非您将此信息发送到跟踪信息中,否则默认情况下用户仍然无法看到该会话。因此,基本上,如果我可以窃取您的会话,那么无论您对下一个请求有什么代码都将为我执行,而不是为用户“等待”下一个请求。但是-他们仍然无法枚举并自己访问它。

相关文章:

json - 将布尔值始终为false的json对象发布到MVC3控制器

asp.net-mvc-3 - 在渲染的局部视图中访问Viewbag数据

c# - 禁用EditorFor

javascript - asp.net mvc3剃须刀,javascript

asp.net - 根据角色要求某些用户提供更强的密码

c# - 或需要验证

asp.net-mvc-3 - 未调用FluentValidation验证程序

asp.net-mvc - MVC验证正则表达式只有数字?

c# - ASP.NET MVC 3-难以理解的路由

wcf - 在WCF中为非自定义绑定定义maxReceivedMessageSize时如何使用ServiceRoutes