配置防伪造令牌单使用MVC asp.net
本文关键字:MVC asp net 单使用 令牌 伪造 配置 | 更新日期: 2023-09-27 18:13:01
我想为每个请求修改AntiForgeryToken。
我读了这些帖子:
- 是否有可能使AntiForgeryToken值在ASP中。. NET MVC更改后,每次验证?
- ASP。. NET MVC防伪造令牌不安全
最初的帖子明确排除了这种可能性,但后者似乎提到它"相当简单"。然而,我不太明白如何实现令牌的一次性使用。
在我目前的实现下,我将令牌作为安全的http-only cookie交付。但它在整个过程中保持不变。我不在乎我的实现是否破坏了返回按钮。有什么建议吗?
因为我们没有你的例子不确定你是如何使用这个,但像这样一个简单的表单确实在表单
的每个请求上显示一个新的令牌@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)<fieldset>
<legend>Person</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Address)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address)
@Html.ValidationMessageFor(model => model.Address)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset> }
上面的表单显示了每个请求中的不同值,如
<input name="__RequestVerificationToken" type="hidden" value="53WW641jzT5QWcIrrLltqF0OGt79US1eBwue1MQU6lW200CxUiD6fcC949RZee4gcNrFNnaP5QYFi6lJd_QmuUqSfex7wWHwWjUC30_kVrI1" />
<input name="__RequestVerificationToken" type="hidden" value="QXHlA8N9g_95YbPeEpjPHhjQFV9IMNJf7eEdnPnADH9BPgQg_DQQKQqf9diPAxMQWJoBcT6FeXCIECe-Qd6Q6wA5BimVlU9K0C67nokzuXQ1" />
这里有更多关于SO的信息,也参考了这里以外的其他详细信息