将敏感信息(用户 ID、连接字符串、我可能不希望其他用户看到的信息)放入 ViewBag 中是不是一个坏主意?外部用户可以通过任何方式获取该信息吗?
我的想法是否定的,他们无法做到这一点(我已经尝试过,不是我在 LulzSec),但我对其他人的想法感到好奇。
提前致谢!
最佳答案
ViewBag 是基于 session 的,它仅基于当前请求,因此与 session 具有相同的约束,并具有额外的好处,即它在请求结束时被删除,所以不 - 这是不可访问的。即使有人可以窃取您的 session ID 并劫持 session , View 数据也会消失。
TempData 是另一个故事, session 劫持将允许用户劫持另一个 session - 因此是 tempdata,但默认情况下用户仍然无法看到它,除非您将此信息发送到跟踪信息中。因此,基本上,如果我可以窃取您的 session ,那么您在下一个请求上拥有的任何代码都将为我执行,而不是为用户执行下一个请求的“等待”。但是 - 他们仍然无法枚举并自行访问它。
关于asp.net-mvc-3 - MVC3 - 将敏感信息放入 ViewBag 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7123229/