asp.net – 如何防止重播攻击?
|
这与 another question I asked有关.总而言之,我有一个URL的特殊情况,当一个表单被POST时,我不能依靠cookie进行认证或维护用户的会话,但是我不知何故需要知道谁他们是,我需要知道他们已经登录! 我想我想出了一个解决我的问题的办法,但是它需要充实.这是我在想什么我创建一个名为“username”的隐藏表单字段,并在其中放置用户的用户名,加密.然后,当表单POST时,即使我没有从浏览器收到任何cookie,我知道他们登录,因为我可以解密隐藏的表单字段并获取用户名. 我可以看到的重大安全漏洞是重播攻击.如何防止某人获得该加密字符串,并以该用户身份登录?我知道我可以使用SSL来更难以窃取字符串,也可以定期旋转加密密钥来限制字符串的有效期,但是我真的很想找到一个防弹的解.有人有什么想法吗? ASP.Net ViewState是否阻止重播?如果是这样,他们怎么做呢? 编辑:我希望有一个不需要任何数据库中存储的解决方案.应用程序状态将是可行的,除非它不能在IIS重新启动或在Web场或花园场景中完全工作.现在我接受了克里斯的回答,因为我不相信甚至可以在没有数据库的情况下确保这一点.但是如果有人提出不涉及数据库的答案,我会接受的! 解决方法如果您使用时间戳和用户名和密码进行哈希,则可以在几秒钟内关闭重播攻击的窗口.我不知道这是否满足您的需求,但至少是部分解决方案.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在ASP.NET中单点登录 – cookie名称,machineKey还有什么?
- 将图表绘制到ASP.NET MVC 4(Razor,C#)网站
- asp.net – 如何配置IIS以接受POST请求?
- asp.net-mvc-3 – Structuremap,AutoFac或Ninject,哪一个适
- asp.net-mvc – 获取文件内容的绝对路径
- asp.net-mvc – 当ModelState为InValid时调用的Ajax.BeginF
- .net – 每个堆栈跟踪线末尾的标志是什么?
- asp.net core标签助手的高级用法TagHelper+Form
- asp.net-mvc – 使ASP.NET MVC应用程序Web Farm准备就绪
- asp.net – 每5秒自动刷新一次Updatepanel
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与
- asp.net-mvc-3 – Razor语法中的ValidateRequest
- asp.net-mvc-3 – MVC3 – 具有复杂类型列表的Vi
- 如何在asp.net转发器控件中获取项目点击事件?
- .net中如何获取机器硬件信息(防软件复制版)
- asp.net-web-api – HttpClient不报告从Web API返
- asp.net – 将web应用程序的项目编译成dll
- asp.net – 为每个网站/应用程序创建单独的IIS应
- asp.net – 如何绑定一个MemoryStream到asp:图像
- asp.net-mvc-3 – 具有最佳实践的示例N层ASP.NET
