Grails - 限制 IP 地址的上传速率

Posted

技术标签:

【中文标题】Grails - 限制 IP 地址的上传速率【英文标题】:Grails - Limit an IP Address' Upload Rate 【发布时间】:2014-07-21 20:01:54 【问题描述】:

我正在创建一个 Grails 应用程序,并试图找出防止用户在我的服务器上发送垃圾邮件的最佳方法。我有无数的表格可以留下 cmets。我不希望他们有能力发送一百万厘米。我知道有一种方法可以模拟“服务器延迟”,从而降低数据速率。在 grails 框架内,是否有设置最大帖子大小限制/速率的好方法?

我尝试研究通过 tomcat 属性设置它的任何可能性,但我自己的研究并没有太多运气。

非常感谢!!!

【问题讨论】:

当您说限制帖子的大小/速率时,那是 HTTP 帖子吗?对于任何类型的数据或只是文件上传或完全不同的东西? 只是一个文本字段的一般帖子,是的。 您的用户是否已登录并有会话?我之所以这么问,是因为编写一个过滤器来限制他们在基于他们最后一次发布内容的时间范围内发布的能力是很容易的。 【参考方案1】:

如果我正确理解了这个问题,您希望限制用户提供的帖子的大小。如果是,那么您可以在域类中添加maxSize 约束(或任何命令对象,如果使用的话)。

如果您希望防止重新提交表单,那么您可以使用formTokens 来防止重复提交。

【讨论】:

我也不希望他们能够发布一百万个小帖子。所以我只想限制他们在我的服务器上抛出数据的速率。 为什么您允许他们在他们发布后在视图中重新发布?您可以完全禁用表单提交。

以上是关于Grails - 限制 IP 地址的上传速率的主要内容,如果未能解决你的问题,请参考以下文章

上传期间引发“超出速率限制”错误的速率限制是多少?

BT限制上传速率下载慢问题

AspNetCoreRateLimit - ASP.NET Core 速率限制中间件。

在 Grails 中验证 IP 地址

达到速率限制时收到 CORS 错误而不是预期的 429 响应

nginx配置limit_req限制ip访问速率详解