我想制作删除链接安全的内容。即。AntiforgeryToken&许多形式perf
行1编辑删除
行2编辑删除
其中删除链接插入链接。
要删除链接POST请求,而不是得到的请求,我可以用一个AntiForgeryToken和AntiForgeryToken验证
using(Html.BeginForm("Delete","Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.Hidden("objectId", i)
<input type="submit" value="Delete" />
}
C#
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int objectId)
{
SafeLogic();
return View(...);
}
配对一个简单的表格后要做到这一点
我也想用表来做这件事,但是我对这么多的令牌产生了一些性能问题,例如。
@for (int i = 0; i < 500; i++)
{
<tr>
<td> Data Row @i </td>
<td>
using(Html.BeginForm("Index","Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.Hidden("objectId", i)
<input type="image" src="img_delete.gif" alt="Delete" />
}
</td>
}
AntiForgeryTokens的生成代价如何?是许多AntiForgery令牌的生成例如。高达100,将成为一个问题。有这么多内联html表单可以吗?
我会看下面的@Josh代表什么 - 用jQuery调用页面感觉更现代。即使你发布帖子,那里的表单也会要求用户重新加载整个页面或框架。 – zaitsman
我也想知道答案,当每个人都只是添加javascript来完成无需完成的工作时,它就会让我很烦恼。它只是增加了不必要的复杂性和脆弱性。 (并不是说我反对那些善于使用javascript的漂亮网站,但它只是这个默认答案,让我很紧张)。到目前为止,没有任何答案直接回答这个问题。 –
太糟糕了,接受的答案不回答关于大量antiforgerytokens成本/性能的问题:( – marapet