gpt4 book ai didi

asp.net - 如何防止重放攻击?

转载 作者:行者123 更新时间:2023-12-03 14:31:12 24 4
gpt4 key购买 nike

这与another question I asked有关.总之,我有一个 URL 的特殊情况,当表单被发送到它时,我不能依赖 cookie 进行身份验证或维护用户的 session ,但我不知何故需要知道他们是谁,我需要知道他们已登录!

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

我能看到的主要安全缺陷是重放攻击。如何防止某人获取该加密字符串并以该用户身份发布?我知道我可以使用 SSL 使窃取该字符串变得更加困难,也许我可以定期轮换加密 key 以限制该字符串可用的时间量,但我真的很想找到一个防弹工具解决方案。有人有任何想法吗? ASP.Net ViewState 是否阻止重播?如果是这样,他们是如何做到的?

编辑 :我希望有一个不需要任何存储在数据库中的解决方案。应用程序状态没有问题,只是它不会在 IIS 重新启动后继续存在,或者在 Web 场或花园场景中根本无法工作。我现在接受 Chris 的回答,因为我不相信在没有数据库的情况下甚至有可能保护它。但如果有人提出不涉及数据库的答案,我会接受!

最佳答案

如果您将时间戳与用户名和密码一起散列,则可以在几秒钟内关闭重放攻击窗口。我不知道这是否满足您的需求,但它至少是部分解决方案。

关于asp.net - 如何防止重放攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com