如何在 Meteor 中限制 Accounts.forgotPassword 的调用率?

How to limit call-rate of Accounts.forgotPassword in Meteor?

Accounts.forgotPassword是客户端方法,会触发服务器发送邮件,所以需要限制call-rate。

它有内置的通话速率限制,但我觉得限制太低,我想改变它。

我没有找到任何官方解决方案,只是想出了一个解决方法:包装 Accounts.sendResetPasswordEmail 方法。但这并不好,因为客户端仍然可以调用 Accounts.forgotPassword 来过度发送电子邮件。

所以,我不知道如何正确处理。

根据 DDPRateLimiter 文档,您可以添加如下内容:

var rule = {type: 'method', method: 'forgotPassword'};
DDPRateLimiter.addRule(rule, 2, 60000);

那应该将对 forgotPassword 的调用限制为每分钟 2 次。您可以查看其他示例 here.