如何在 IIS 中禁用多表单提交 (POST)

use*_*640 7 windows iis sharepoint

几个月前,我们发生了一次重大的 SharePoint 中断,因为用户将键盘插入其中,导致无限期按下 Enter 按钮。用户在一个定制的人物搜索页面上,同一用户的数百个 POST 被异步提交,这使服务器过载。

因为我在一个大型组织工作,所以我正在寻找一种更全球化的方法来防止这种情况发生。

有没有办法在 IIS 内防止一个普通用户在短时间内提交多个 Web 表单?

我知道我们可以编写 javascript 以在单击按钮后禁用该按钮,但我们希望防止在可能存在类似可能性的其他页面上发生此问题。

更新:它似乎在查看源代码,每当按下键码 13 (Enter) 时,javascript 就会执行 document.location = url。同样,我们可以在这个位置编写 JS 来防止这种情况,但我们也希望能够更普遍地防止这种问题......最好在 IIS 级别。

Nat*_*n V 2

一种选择是使用http://www.iis.net/downloads/microsoft/dynamic-ip-restrictions等进行速率限制,可以将其设置为在设定的时间内阻止违规 IP。

当然,在将此类内容投入生产之前,您需要对典型的请求/秒/IP 进行基线设置,但这应该会阻止单个用户再次执行类似的操作。