一个MVC页面中有许多Anti Forgery Token?

时间:2016-03-28 00:15:04

标签: asp.net-mvc

我注意到,当一个页面上有许多防伪标记时,IE将失败(而Firefox等工作正常)。

所以我试图看看如何在我的情况下减少此类令牌的数量。

案例如下: 这是一个产品列表页面。在一个页面上,它将列出每页200个产品(硬性要求,每页必须200或更多产品)。 对于每个产品,它将有4个链接/操作,例如编辑它,删除它,在订单中向上移动,在订单中向下移动它。 (硬性要求,必须显示这4个动作的链接)

目前,对于每个链接/操作,它都是一个表单,它具有来自@ Html.AntiForgeryToken()的标记。因此页面将有800个表单和800个防伪标记,导致IE失败。

知道如何改进吗?我可能会尝试将4个操作放入1个表单中,并使用另一个参数来区分操作并在后端以不同方式处理它们。通过这种方式,每个页面将有200个表单/令牌(但要求是它将具有200个或更多,因此可能会有更多)。

只是想知道是否还有其他评论。例如,我可以为一个页面中的所有位置使用相同的防伪标记吗? (但客户可以右键单击链接并在新窗口中使用open,导致多次使用一个令牌。这会起作用吗?)

谢谢!

0 个答案:

没有答案