0

如何在 MVC 2.0 中使用 Nonce Key 防止重放攻击或多次回发

我正在为此寻找一个低级的实现解决方案。它不必是完整的,但任何在操作过滤器中为此目的使用 Nonce 键的示例都将受到欢迎。

这个想法是通过按下多个按钮或输入按键来阻止用户提交多个表单。我已经有了一个 JavaScript 解决方案,但我现在正在寻找一个通用的服务器端选项。

我的问题基于此处提供的解决方案:What methods are available to stop multiple postbacks of a form in ASP.NET MVC?

4

1 回答 1

0

您可以存储一个唯一的密钥(也许是 Guid),该密钥存储在用户会话中,并在每次加载每个页面时刷新。

guid 应该包含在每个表单中(可能是隐藏的表单字段)并与每次进行比较。

如果用户打开了多个窗口,这确实有缺点。


HtmlHelper.AntiForgeryToken MethodValidateAntiForgeryTokenAttribute

于 2011-05-23T15:13:03.560 回答