ASP.NET Forms身份验证的授权安全性
我在ASP.NET MVC网站中使用Forms身份验证,我在AuthCookie中存储用户帐户登录名,如下所示:
FormsAuthentication.SetAuthCookie(account.Login,false); 我想问一下,客户端的用户是否有可能以某种方式设法在AuthCookie中更改他的登录名,因此他将被模仿为具有更高权限的人,并被授权执行比他通常应该具有的更多操作.另外最好保存在此cookie用户帐户登录名或用户帐号ID中吗? 解决方法
Cookie是加密的,因此很有可能.但仍然.
不止一种房产方式 如果您想让您的安全性更加严格,您可以保存用户名以及用户ID或其他一些无法从用户名中猜到的数据.这些组合使它更安全,因为如果你猜一个人更难猜测其他人并使用它们的正确组合. IE浏览器.如果您猜测其他用户的电子邮件/用户名,则猜测相同用户的ID会更难,因为它们不相关.因此,您组合的无关属性越多,获得正确组合所需的步骤就越多. 登录安全令牌方法 您可以使用此方案中描述的替代方法: >用户登录. 这样,从长远来看,它会使它更安全,因为这些信息会在每次登录时发生变化,如果用户手动注销,您可以随时从商店中清除该令牌,因此根本不可能注入其他人的身份.这确实使得使用永久性cookie变得更加复杂,但它仍然可以完成. 这种方法不是防弹,但它提供了额外的安全级别,可以在一个帐户遭到入侵时一次又一次地防止同一次攻击.而且,当一个帐户被泄露时,并不意味着其他帐户也可以.如果您的安全令牌足够长,那么在您的站点上启动暴力攻击会更加困难,并且在执行此类攻击时,安全令牌将会发生变化,因此它肯定更安全. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC图像上传存储位置(db vs filesystem)
- asp.net-mvc – Visual Studio 2010 Full和ASP.NET MVC 2.0
- asp.net – 将数值强制为HTML表导出为ex??cel的文本
- asp.net – 禁止从网页复制数据
- asp.net-mvc – 在.NET MVC 3中使用REST Web服务
- asp.net-mvc – Angular.js和WebAPI CRUD示例
- [ASP.NET Web API]如何Host定义在独立程序集中的Controller
- asp.net-mvc-3 – 部署ASP.NET MVC应用程序时IIS 7.5 403访
- asp-classic – 检查字符串是否以“经典ASP中的另一个字符串
- asp.net-mvc – 从ASP .NET MVC 3 _Layout View访问cookie