相关疑难解决方法(0)

如何防止重放攻击?

这与我提出的另一个问题有关.总而言之,我有一个URL的特殊情况,当一个表单发布到它时,我不能依赖cookie进行身份验证或维护用户的会话,但我不知何故需要知道他们是谁,我需要知道他们已经登录了!

我想我想出了解决问题的方法,但需要充实.这就是我在想的.我创建一个名为"username"的隐藏表单字段,并在其中放置用户的用户名加密.然后,当表单POST时,即使我没有从浏览器收到任何cookie,我知道他们已经登录,因为我可以解密隐藏的表单字段并获取用户名.

我能看到的主要安全漏洞是重播攻击.如何阻止某人获取该加密字符串,并以该用户身份进行POST?我知道我可以使用SSL来更难以窃取该字符串,也许我可以定期轮换加密密钥来限制字符串有用的时间,但我真的很想找到一个防弹解.有人有什么想法吗?ASP.Net ViewState是否阻止重播?如果是这样,他们是如何做到的?

编辑:我希望解决方案不需要存储在数据库中的任何内容.应用程序状态是可以的,除了它将无法在IIS重新启动或在Web场或园林场景中完全工作.我现在接受克里斯的回答,因为我不相信它甚至可以在没有数据库的情况下保证这一点.但如果有人想出一个不涉及数据库的答案,我会接受它!

asp.net security encryption

16
推荐指数
4
解决办法
3万
查看次数

标签 统计

asp.net ×1

encryption ×1

security ×1